public JsonWebToken Post([FromBody] Ah_Usuarios userLogin)
        {
            var user = _unitOfWork.Ah_Usuarios.uspValidateUser(userLogin.UserName, userLogin.Password);

            if (user == null || user.IdUsuario == "")
            {
                throw new UnauthorizedAccessException();
            }

            var token = new JsonWebToken
            {
                Access_Token = _tokenProvider.CreateToken(user, DateTime.UtcNow.AddHours(3)),
                Expires_in   = 180 //minutes
            };

            return(token);
        }
Beispiel #2
0
        public string CreateToken(Ah_Usuarios user, DateTime expiry)
        {
            JwtSecurityTokenHandler tokenHandler = new JwtSecurityTokenHandler();
            var identity = new ClaimsIdentity(new List <Claim>()
            {
                new Claim(ClaimTypes.Name, $"{user.Nombres}"),
                new Claim(ClaimTypes.NameIdentifier, $"{user.ApPaterno} {user.ApMaterno}"),
                new Claim(ClaimTypes.GivenName, $"{user.IdCentroSalud}"),
                new Claim(ClaimTypes.Role, user.IdTipoUsu),
                new Claim(ClaimTypes.Surname, user.IdAmbulancia),
                new Claim(ClaimTypes.PrimarySid, user.IdUsuario.ToString())
            }, "Custom");
            SecurityToken token = tokenHandler.CreateJwtSecurityToken(new SecurityTokenDescriptor
            {
                Audience           = _audience,
                Issuer             = _issuer,
                SigningCredentials = new SigningCredentials(_key, _algoritm),
                Expires            = expiry.ToUniversalTime(),
                Subject            = identity
            });

            return(tokenHandler.WriteToken(token));
        }