实施JWT身份验证

实施JWT身份验证

问题描述:

我正在寻找使用IdentityModel.Tokens.Jwt实现JSON Web令牌身份验证的最简单方法。下面是一包本身的链接:实施JWT身份验证

JSON Web Token Handler For the Microsoft .Net Framework 4.5 4.0.1

+0

什么是您所遇到的具体问题? – beautifulcoder 2014-11-23 15:25:51

+0

我的特定问题是缺少文档和指南,该文档和指南显示如何使用此包中的类 – Andrei 2014-11-23 15:29:18

+0

+1对MS程序包的稀疏文档进行+1。也就是说,您可能会发现[此包](https://www.nuget.org/packages/JWT)更容易使用/定制您的需求。 [项目网站](https://github.com/jwt-dotnet/jwt)会给你所有的细节。心连心.. – EdSF 2015-11-25 16:25:26

这是对我工作:

var securityKey = new InMemorySymmetricSecurityKey(Encoding.Default.GetBytes("MySecretKey")); 
var header = new JwtHeader(new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.Sha256Digest)); 
var payload = new JwtPayload(); 

var claims = new List<Claim> 
{ 
    new Claim(ClaimTypes.Email, "[email protected]"), 
    ... 
}; 

payload.AddClaims(claims); 

// if you need something more complex than string/string data 
payload.Add("tags", new List<string> { "admin", "user" }); 

var token = new JwtSecurityToken(header, payload); 
var tokenString = securityTokenHandler.WriteToken(token);