mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-22 03:19:55 +08:00
refactor(tenpayv2): 优化签名生成逻辑
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using JWT;
|
||||
using JWT.Algorithms;
|
||||
using JWT.Serializers;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Utilities
|
||||
{
|
||||
internal static class JwtUtility
|
||||
{
|
||||
private static readonly Lazy<IJwtEncoder> _encoder = new Lazy<IJwtEncoder>(() =>
|
||||
{
|
||||
IJwtAlgorithm algorithm = new HMACSHA256Algorithm();
|
||||
IJsonSerializer serializer = new JsonNetSerializer(new JsonSerializer() { NullValueHandling = NullValueHandling.Ignore });
|
||||
IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
|
||||
IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder);
|
||||
return encoder;
|
||||
}, isThreadSafe: true);
|
||||
|
||||
public static string EncodeWithHS256(object payload, string secret)
|
||||
{
|
||||
return _encoder.Value.Encode(payload, secret);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user