Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        /// <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)));
        }
Ejemplo n.º 3
0
 public ImpersonationContext(IUserDefinition userDefinition)
     : this(userDefinition.Username)
 {
     this.userDefinition = userDefinition;
 }
Ejemplo n.º 4
0
 public async Task <string> GetTokenAuthenticateAsync(IUserDefinition user)
 {
     return(await _tokenManager.GenerateAccessToken(user));
 }
 public ImpersonationContext(IUserDefinition userDefinition)
     : this(userDefinition.Username)
 {
     this.userDefinition = userDefinition;
 }
Ejemplo n.º 6
0
 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);
 }