首页 > 解决方案 > 令牌认证服务器在 .Net 中是如何工作的?

问题描述

我正在学习注册中的 Angular 和 Web API 端点将创建一个令牌并将其返回给客户端。

这是代码:

 var tokenHandler = new JwtSecurityTokenHandler();

 var claims = new ClaimsIdentity(new[] {
                    new Claim(ClaimTypes.Email, user.UserName)
 });

 const string secretKey = "your secret key goes here";
 var securityKey = new SymmetricSecurityKey(Encoding.Default.GetBytes(secretKey));
 var signinCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature);
 var token = (JwtSecurityToken)tokenHandler.CreateJwtSecurityToken(subject: claims, signingCredentials: signinCredentials);

 var tokenString = tokenHandler.WriteToken(token);
 return new JwtPackage()
                {
                    UserName = user.UserName,
                    Token = tokenString
                };

我读过关于https://oauth.net/2/

我知道授权服务器应该创建令牌。在这里,我自己创建令牌并使用JwtSecurityTokenHandler.

我的问题:这个实现是否是跟进https://oauth.net/2/的正确实现?

如果是,那么授权服务器在哪里?

另外,如果我不加密令牌,并将其保存在本地存储中。这安全吗?

标签: c#asp.net-web-apioauth

解决方案


推荐阅读