C# 令牌身份验证服务器在.Net中如何工作?

C# 令牌身份验证服务器在.Net中如何工作?,c#,asp.net-web-api,oauth,C#,Asp.net Web Api,Oauth,我正在学习注册中的Angular和WebAPI端点将创建一个令牌并将其返回给客户端 代码如下: var tokenHandler = new JwtSecurityTokenHandler(); var claims = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Email, user.UserName) }); const string secretKey = "your secret k

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

代码如下:

 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
                };
我读过

我知道授权服务器应该创建令牌。这里我自己创建令牌,并使用
JwtSecurityTokenHandler
将其返回给用户

我的问题是:这个实现是正确的吗

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


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

既然您似乎正在创建自己的密码存储,我认为这是一个值得关注的问题:@Christopher我无法理解,我不是在跟踪为OAuth 2.0和.NET制作的toutorial: