public IHttpActionResult ProcessLogout([FromBody] LogoutMemberRequestModel model)
        {
            //call service to expire AccessToken for this Member
            var result = _authService.ExpireAccessToken(model.MemberID, model.OrganizationID, model.AccessToken);

            if (result != null)
            {
                return(Ok(result));
            }
            else
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error in ExpireAccessToken.")));
            }
        }
Beispiel #2
0
        public AccessToken Logout(LogoutMemberRequestModel model)
        {
            var request = new RestRequest("authentication/logout", Method.POST)
            {
                RequestFormat = DataFormat.Json
            };

            request.AddHeader("Authorization", "access " + model.AccessToken);
            request.AddBody(model);

            var response = _client.Execute <AccessToken>(request);

            if (response.Data == null)
            {
                throw new Exception(response.ErrorMessage);
            }

            return(response.Data);
        }
        public ActionResult Logout()
        {
            try
            {
                var model = new LogoutMemberRequestModel
                {
                    AccessToken    = Session["AccessToken"].ToString(),
                    MemberID       = Convert.ToInt32(Session["MemberID"]),
                    OrganizationID = Convert.ToInt32(Session["OrganizationID"]),
                };

                var result = RestClient.Logout(model);

                Session.Clear();
                Session.Abandon();
                return(RedirectToAction("Logout", "Home"));
            }
            catch
            {
                return(RedirectToAction("Logout", "Home"));
            }
        }