Example #1
0
        /// <summary>
        /// Cria um Token de Acesso válido para o sistema, com identificação do usuário
        /// </summary>
        public static string GenerateToken(UserIdentification userIdentification)
        {
            string guid         = Guid.NewGuid().ToString("N");
            string userIdentStr = userIdentification.GetTokenIdentification();

            ClaimsIdentity identity = new ClaimsIdentity(
                new GenericIdentity(userIdentStr, Constants.GENERIC_IDENTITY_TYPE),
                new[] {
                new Claim(JwtRegisteredClaimNames.Jti, guid),
                new Claim(JwtRegisteredClaimNames.UniqueName, userIdentStr)
            }
                );

            DateTime created    = DateTime.Now;
            DateTime expiration = created +
                                  TimeSpan.FromSeconds(TOKEN_SECONDS);

            JwtSecurityTokenHandler handler       = new JwtSecurityTokenHandler();
            SecurityToken           securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = ISSUER,
                Audience           = AUDIENCE,
                SigningCredentials = SigningConfigurations.SigningCredentials,
                Subject            = identity,
                NotBefore          = created,
                Expires            = expiration
            });

            return(handler.WriteToken(securityToken));
        }
Example #2
0
 /// <summary>
 /// Extrai o identificador do usuário do contexto de autenticação
 /// </summary>
 public static UserIdentification GetUserIdentification(ClaimsPrincipal user)
 {
     if (!string.IsNullOrEmpty(user.Identity.Name))
     {
         return(new UserIdentification(user.Identity.Name));
     }
     return(UserIdentification.NoUser());
 }