Beispiel #1
0
        /// <summary>
        /// Metodo que genera el token de acceso para el usuario logueado
        /// </summary>
        /// <param name="usuarioInfo">Datos del usuario logueado</param>
        /// <returns>Token de acceso</returns>
        public string generarTokenJWT(DatosSesion usuarioInfo)
        {
            var jwtHeader    = obtenerJWTHeader();
            var claimsSesion = obtenerClaimsSesion(usuarioInfo);
            var jwtPayload   = obtnerJWTPayload(claimsSesion);

            var jwtSecurityToken        = new JwtSecurityToken(jwtHeader, jwtPayload);
            var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            var token = jwtSecurityTokenHandler.WriteToken(jwtSecurityToken);

            return(token);
        }
Beispiel #2
0
        /// <summary>
        /// Metodo que obtiene los claims para el token de acceso
        /// </summary>
        /// <param name="datosSesionUsuario">Datos de sesion del usuario</param>
        /// <returns>Claims para el token de acceso</returns>
        private List <Claim> obtenerClaimsSesion(DatosSesion datosSesionUsuario)
        {
            var claimsSession = new List <Claim>
            {
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim("CodigoInstitucional", datosSesionUsuario.CodigoInstitucional),
                new Claim("NombreUsuario", datosSesionUsuario.NombreUsuario),
                new Claim("ApellidoUsuario", datosSesionUsuario.ApellidoUsuario),
                //new Claim(ClaimTypes.Role, datosSesionUsuario.Rol)
            };

            return(claimsSession);
        }