一个JWT实际上就是一个字符串,它由三部分组成,头部(header)、载荷(Payload)与签名。

Payload

payload中可以保存用户的信息。

var claims = new Claim[]
{
new Claim(JwtRegisteredClaimNames.Sub, account),
new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
new Claim(JwtRegisteredClaimNames.Iat, now.ToUniversalTime().ToString(),
ClaimValueTypes.Integer64),
//用户名
new Claim(ClaimTypes.Name,account),
//角色
new Claim(ClaimTypes.Role,"a")
};

获取所存放的account

var schemeProvider = context.RequestServices.GetService(typeof(IAuthenticationSchemeProvider)) as IAuthenticationSchemeProvider;
var defaultAuthenticate = await schemeProvider.GetDefaultAuthenticateSchemeAsync();
if (defaultAuthenticate != null)
{
var result = await context.AuthenticateAsync(defaultAuthenticate.Name);
var user = result?.Principal;
if (user != null)
{
account = user.Identity.Name;
}
}

相关文章:

  • 2022-03-09
  • 2021-07-12
  • 2021-06-15
  • 2021-07-16
  • 2021-12-02
  • 2021-06-18
猜你喜欢
  • 2021-12-07
  • 2021-05-23
  • 2021-10-31
  • 2021-05-31
  • 2021-08-12
  • 2021-03-01
  • 2018-07-16
相关资源
相似解决方案