示例#1
0
        public ApiResponseModel Expire([FromBody] ExpireUserRequest expireRequest)
        {
            if (ModelState.IsValid)
            {
                // TODO: Find uuidv4 token belonging to an user and set it to null to expire it.
                var user = _dbContext.Users.FirstOrDefault(p => p.UuidV4Token == expireRequest.Token);
                if (user != null)
                {
                    user.UuidV4Token = null;
                    _dbContext.Users.Update(user);
                    if (_dbContext.SaveChanges() > 0)
                    {
                        return(new ApiResponseModel()
                        {
                            Status = true
                        });
                    }
                    else
                    {
                        return(new ApiResponseModel()
                        {
                            Status = false,
                            Error = "Database Error!"
                        });
                    }
                }
            }

            return(new ApiResponseModel()
            {
                Status = false
            });
        }
        public async Task <IActionResult> Logout()
        {
            await _signInManager.SignOutAsync();

            ExpireUserRequest expireUser = new ExpireUserRequest();

            expireUser.Token = HttpContext.Session.GetString(SessionState.SessionKeyToken);
            RestClient rc = new RestClient();

            rc.Logout(expireUser);
            HttpContext.Session.Clear();
            _logger.LogInformation("User logged out.");
            return(RedirectToAction(nameof(HomeController.Index), "Home"));
        }
示例#3
0
 public bool Logout(ExpireUserRequest user)
 {
     try
     {
         HttpClient client = new HttpClient();
         client.BaseAddress = new Uri(BASE_URL);
         client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
         HttpResponseMessage response = client.PostAsync("users/expire", new StringContent(JsonConvert.SerializeObject(user), Encoding.UTF8, "application/json")).Result;
         return(response.IsSuccessStatusCode);
     }
     catch
     {
         return(false);
     }
 }