private MembershipUser UserCacheItemToMembershipUser(IUserDefinition item) { var empty = new DateTime(); return(new MembershipUser(this.Name, item.Username, item.UserId, item.Email, String.Empty, null, item.IsActive > 0, item.IsActive <= 0, empty, empty, empty, empty, empty)); }
/// <summary> /// Generar el token de acceso /// </summary> /// <param name="user">perfil del usuario</param> /// <returns></returns> public async Task <string> GenerateAccessToken(IUserDefinition user) { var role = user.KeyInstitucion == _jwtOptions.KeyMaster ? AppConst.Claims.Roles.Internal : AppConst.Claims.Roles.Public; var claims = new[] { new Claim(JwtRegisteredClaimNames.Jti, user.UserId.ToString()), new Claim(JwtRegisteredClaimNames.Sub, user.UserName), new Claim(JwtRegisteredClaimNames.Email, user.Email), new Claim("inst", user.KeyInstitucion.ToString()), new Claim(ClaimTypes.Role, role) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtOptions.SecretKey)); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); //Generamos el Token de refresco var refreshToken = GenerateRefreshToken(); var expireTime = DateTime.Now.AddDays(2); //Parametros del Token que se genera var tokenOptions = new JwtSecurityToken(_jwtOptions.ValidIssuer, _jwtOptions.ValidAudience, claims, expires: DateTime.Now.AddMinutes(_jwtOptions.ExpiresMinutes), signingCredentials: credentials); return(await Task.Run(() => new JwtSecurityTokenHandler().WriteToken(tokenOptions))); }
public ImpersonationContext(IUserDefinition userDefinition) : this(userDefinition.Username) { this.userDefinition = userDefinition; }
public async Task <string> GetTokenAuthenticateAsync(IUserDefinition user) { return(await _tokenManager.GenerateAccessToken(user)); }
public ImpersonationContext(IUserDefinition userDefinition) : this(userDefinition.Username) { this.userDefinition = userDefinition; }
private MembershipUser UserCacheItemToMembershipUser(IUserDefinition item) { var empty = new DateTime(); return new MembershipUser(this.Name, item.Username, item.Id, item.Email, String.Empty, null, item.IsActive > 0, item.IsActive <= 0, empty, empty, empty, empty, empty); }