Esempio n. 1
0
        public ActionResult Navigate()
        {
            var sso   = new SsoManager(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
            var token = sso.CreateToken("John", "SourceWeb");

            return(Redirect($"https://localhost:44366/Home/Login/?{SsoManager.QueryStringToken}={token}"));
        }
Esempio n. 2
0
        public IActionResult Login()
        {
            var sso     = new SsoManager(_configuration.GetConnectionString("DefaultConnection"));
            var loginId = sso.VerifyToken(Request.Query[SsoManager.QueryStringToken]);

            return(View("Index"));
        }
Esempio n. 3
0
        public IHttpActionResult Logout(SsoPayload payload)
        {
            if (!SignatureService.IsValidClientRequest(
                    payload.SSOUserId, payload.Email, long.Parse(payload.Timestamp),
                    payload.Signature
                    ))
            {
                return(Unauthorized());
            }
            // Find userid using sso id
            UserManager    userManager = new UserManager();
            SessionManager sm          = new SessionManager();
            SsoManager     ssoManager  = new SsoManager();
            UserDTO        userDto     = ssoManager.FindUserById(new Guid(payload.SSOUserId));

            if (userDto == null)
            {
                return(NotFound());
            }

            string token = sm.GetSessionToken(userDto.Id);

            if (token == null)
            {
                return(Ok());
            }
            sm.InvalidateSession(token);

            return(Ok());
        }
Esempio n. 4
0
        public IHttpActionResult DeleteUser(SsoPayload payload)
        {
            if (!SignatureService.IsValidClientRequest(
                    payload.SSOUserId, payload.Email, long.Parse(payload.Timestamp),
                    payload.Signature
                    ))
            {
                return(Unauthorized());
            }
            if (payload.SSOUserId == null)
            {
                return(BadRequest("No SSO user id passed."));
            }
            // Find userid using sso id
            UserManager    userManager = new UserManager();
            SessionManager sm          = new SessionManager();
            SsoManager     ssoManager  = new SsoManager();

            ssoManager.DeleteUserBySsoId(new Guid(payload.SSOUserId));

            return(Ok());
        }