/// <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); }
/// <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); }