Esempio n. 1
0
        public async Task <IActionResult> Refresh()
        {
            IActionResult response = BadRequest("Unable to refresh token!");

            try
            {
                // var user = await _context.User.SingleOrDefaultAsync(m => m.UserId.Equals(int.Parse(User.Identity.Name)));
                if (!await _context.User.AnyAsync(m => m.UserId.Equals(int.Parse(User.Identity.Name))))
                {
                    throw new Exception("User not found in database.");
                }

                await _tokenManager.DeactivateCurrentAsync();

                Console.WriteLine("Deactivating user" + User.Claims + " UserId : " + User.Identity.Name);

                var tokenString = BuildToken(new Models.Users.User {
                    UserId = int.Parse(User.Identity.Name), Admin = User.IsInRole("Admin")
                });
                response = Ok(new { token = tokenString });
                Console.WriteLine("New Token for userId: " + User.Identity.Name + " token: " + tokenString);
                return(response);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                Log.Error("Error refreshing userId: " + User.Identity.Name + " ", ex);
                return(response);
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Logout()
        {
            try
            {
                //revoke token
                await _tokenManager.DeactivateCurrentAsync();

                return(NoContent());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> CancelToken()
        {
            if (await _tokenManager.IsCurrentActiveAsync())
            {
                await _tokenManager.DeactivateCurrentAsync();
            }

            return(Ok());
        }
        public async Task <IActionResult> Logout()
        {
            try
            {
                await _tokenManager.DeactivateCurrentAsync();

                return(GetOKResult(HttpStatusCode.OK.ToString()));
            }
            catch (Exception ex)
            {
                return(GetServerErrorResult(ex.ToString()));
            }
        }
        public async Task <bool> LogUserOut(int userId)
        {
            User user    = (User)_contextAccessor.HttpContext.Items["User"];
            int  tokenId = user.UserId;

            if (tokenId == userId)
            {
                await _tokenManager.DeactivateCurrentAsync();

                return(true);
            }
            return(false);
        }
Esempio n. 6
0
        public async Task <IActionResult> LogOff()
        {
            try
            {
                await _signInManager.SignOutAsync();

                await _tokenManager.DeactivateCurrentAsync();

                return(Ok());
            }
            catch (Exception ex)
            {
                //log ex
                return(StatusCode(StatusCodes.Status500InternalServerError));
            }
        }
Esempio n. 7
0
        public async Task <bool> RevokeToken(ClaimsPrincipal claim)
        {
            ApplicationUser user = _userManager.Users.FirstOrDefault(x =>
                                                                     x.Id == ExtBusinessLogic.UserValue(claim, nameof(ApplicationUser.Id)));

            if (user == null)
            {
                throw new WebApiApplicationException(StatusCodes.Status404NotFound, ErrorMessages.ErrorUserNotFound);
            }

            //CheckRecord(user);

            user.TokenNumber = null;
            await _userManager.UpdateAsync(user);

            //_userStore.Context.SaveChanges();

            await _tokenManager.DeactivateCurrentAsync();

            return(true);
        }
        public async Task <Unit> Handle(LogoutUserCommand request, CancellationToken cancellationToken)
        {
            await _tokenManager.DeactivateCurrentAsync();

            return(Unit.Value);
        }
Esempio n. 9
0
        public async Task <ActionResult> Logout()
        {
            await _tokenManager.DeactivateCurrentAsync();

            return(Ok(new { Message = "Logged out" }));
        }
Esempio n. 10
0
        public async Task <IActionResult> CancelAccessToken()
        {
            await _tokenManager.DeactivateCurrentAsync();

            return(NoContent());
        }
Esempio n. 11
0
 public IActionResult Logout()
 {
     _tokenManager.DeactivateCurrentAsync();
     return(Ok(new { message = "Logout successful." }));
 }
Esempio n. 12
0
        public async Task <IActionResult> Logout()
        {
            await _tokenManager.DeactivateCurrentAsync();

            return(Ok());
        }
Esempio n. 13
0
        public async Task <NoContentResult> Logout()
        {
            await tokenManager.DeactivateCurrentAsync();

            return(NoContent());
        }
Esempio n. 14
0
 private async Task DeactivateCurrentTokenAsync()
 {
     await _tokenManager.DeactivateCurrentAsync();
 }