gpt4 book ai didi

c# - JWT WriterToken 函数抛出 IDX10653 错误

转载 作者:行者123 更新时间:2023-12-04 03:38:19 26 4
gpt4 key购买 nike

作为标题,jwtSecurityTokenHandler.WriteToken(jwt) 函数抛出 IDX10653 错误。完全异常(exception)。

System.ArgumentOutOfRangeException: 'IDX10653: 
The encryption algorithm 'System.String' requires a key size of at least 'System.Int32' bits.
Key 'Microsoft.IdentityModel.Tokens.SymmetricSecurityKey', is of size: 'System.Int32'. Arg_ParamName_Name
我的示例用法就在那里:
public AccessToken CreateToken(User user, List<OperationClaim> operationClaims)
{
_accessTokenExpiration = DateTime.Now.AddMinutes(_tokenOptions.AccessTokenExpiration);
var securityKey = SecurityKeyHelper.CreateSecurityKey(_tokenOptions.SecurityKey);
var signingCredentials = SigningCredentialsHelper.CreateSigningCredentials(securityKey);
var jwt = CreateJwtSecurityToken(_tokenOptions, user, signingCredentials, operationClaims);
var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
var token = jwtSecurityTokenHandler.WriteToken(jwt);

return new AccessToken
{
Token = token,
Expiration = _accessTokenExpiration
};
}
我控制了我的每一个变量和功能。我认为没有错,我没有找到针对此错误代码的任何解决方案。有什么解决办法吗?
编辑:在内部细节中,额外的信息 ->
key “Microsoft.IdentityModel.Tokens.SymmetricSecurityKey”的大小为:“System.Int32”。 (参数'键')
我的 SecurityKey 创建者功能是这样的:
public static SecurityKey CreateSecurityKey(string securityKey)
{
return new SymmetricSecurityKey(Encoding.UTF8.GetBytes(securityKey));
}

最佳答案

那问题就解决了。
使用 SHA512 加密系统和 varbinary(500) 时,WebApi 层 appsettings.json 文件中 TokenOptions 部分中的密码(“SecurityKey”)很短。

"TokenOptions": {
"Audience": "some@mailaddress.com",
"Issuer": "some@mailaddress.com",
"AccessTokenExpiration": 10,
"SecurityKey": "mykey"
}

关于c# - JWT WriterToken 函数抛出 IDX10653 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66525508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com