Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class JwtOptions
- {
- public const string Issuer = "EvaSys Issuer"; // издатель токенов
- public const string Audience = "EvaSys Client"; // потребитель токена
- const string Key = "1qwedsaf894DFskg0564";
- public static SymmetricSecurityKey GetSymmetricSecurityKey()
- {
- return new SymmetricSecurityKey(Encoding.ASCII.GetBytes(Key));
- }
- }
- ///////////////
- private AuthResultModel GenerateAuthResultForUser(UserModel userModel)
- {
- var key = JwtOptions.GetSymmetricSecurityKey();
- var signingCredentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature);
- var tokenHandler = new JwtSecurityTokenHandler();
- var tokenDescriptor = new SecurityTokenDescriptor
- {
- Subject = new ClaimsIdentity(new[]
- {
- new Claim("UserName", userModel.UserName),
- new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
- new Claim(JwtRegisteredClaimNames.Email, userModel.Email),
- new Claim("Role", userModel.Role),
- new Claim("id", userModel.Id),
- }),
- Expires = DateTime.UtcNow.AddHours(2),
- SigningCredentials = signingCredentials
- };
- var token = tokenHandler.CreateToken(tokenDescriptor);
- return new AuthResultModel
- {
- Token = tokenHandler.WriteToken(token),
- Success = true,
- UserFirstName = userModel.FirstName,
- UserSecondName = userModel.SecondName,
- UserMiddleName = userModel.MiddleName,
- AvatarImage = userModel.AvatarImage,
- UserRole = userModel.Role,
- Username = userModel.UserName,
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement