JwtSecurityTokenHandler 线程安全吗?



我正在使用JwtSecurityTokenHandler在aspnet core Web api应用程序中颁发令牌:

JwtSecurityToken token = BuildJwtSecurityToken(...);
public string toks = new JwtSecurityTokenHandler().WriteToken(token);

每次请求和创建令牌时,都会实例化一个新的 JwtSecurityTokenHandler,我可以使用它的全局实例并将其用于每次令牌生成吗?

private JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
private GenToken(JwtSecurityToken token) => handler.WriteToken(token);

这样使用有什么问题吗?

文档表示,JwtSecurityTokenHandler的实例成员不能保证线程安全。

https://msdn.microsoft.com/en-us/library/system.identitymodel.tokens.jwtsecuritytokenhandler(v=vs.114(.aspx

我看到的大多数示例,例如 blog.wille-zone.de 上的这个示例,都为每个请求单独创建它。

我不会太聪明;即使它目前是线程安全的,这里没有人可以承诺Microsoft保持这种状态。

如果你确实想得到他们的承诺,你可以从 https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet 提出一个问题开始。他们可以将其写入规范/代码/文档中。

相关内容

  • 没有找到相关文章