/// <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);
        }
Exemple #2
0
        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");
            }
        }
Exemple #3
0
        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;
            }
        }