/// <summary> /// Generate user specific JWT string /// </summary> /// <param name="user"></param> /// <returns></returns> public static string GenerateEncodedJWT(OCM.API.Common.Model.User user) { var claims = new List <System.Security.Claims.Claim>(); claims.Add(new Claim("UserID", user.ID.ToString())); claims.Add(new Claim("nonce", user.CurrentSessionToken.ToString())); var signingKey = new InMemorySymmetricSecurityKey(Encoding.ASCII.GetBytes(user.CurrentSessionToken)); var signingCredentials = new SigningCredentials(signingKey, SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.Sha256Digest); var token = new JwtSecurityToken(ISSUER, AUDIENCE, claims, DateTime.UtcNow, DateTime.UtcNow.AddMonths(1), signingCredentials); var handler = new JwtSecurityTokenHandler(); var jwt = handler.WriteToken(token); return(jwt); }
public void PerformCoreLogin(OCM.API.Common.Model.User userDetails) { string permissions = (userDetails.Permissions != null ? userDetails.Permissions : ""); var session = Session; UpdateCookie(HttpContext, "IdentityProvider", userDetails.IdentityProvider); UpdateCookie(HttpContext, "Identifier", userDetails.Identifier); UpdateCookie(HttpContext, "Username", userDetails.Username); UpdateCookie(HttpContext, "OCMSessionToken", userDetails.CurrentSessionToken); UpdateCookie(HttpContext, "AccessPermissions", permissions); session.SetString("IdentityProvider", userDetails.IdentityProvider); session.SetString("Identifier", userDetails.Identifier); session.SetString("Username", userDetails.Username); session.SetInt32("UserID", userDetails.ID); if (UserManager.IsUserAdministrator(userDetails)) { session.SetString("IsAdministrator", "true"); } }
public static void PerformCoreLogin(OCM.API.Common.Model.User userDetails) { string permissions = (userDetails.Permissions != null ? userDetails.Permissions : ""); var session = System.Web.HttpContext.Current.Session; var response = new HttpResponseWrapper(System.Web.HttpContext.Current.Response); UpdateCookie(response, "IdentityProvider", userDetails.IdentityProvider); UpdateCookie(response, "Identifier", userDetails.Identifier); UpdateCookie(response, "Username", userDetails.Username); UpdateCookie(response, "OCMSessionToken", userDetails.CurrentSessionToken); UpdateCookie(response, "AccessPermissions", permissions); session["IdentityProvider"] = userDetails.IdentityProvider; session["Identifier"] = userDetails.Identifier; session["Username"] = userDetails.Username; session["UserID"] = userDetails.ID; if (UserManager.IsUserAdministrator(userDetails)) { session["IsAdministrator"] = true; } }