예제 #1
0
        public async Task <IActionResult> RevokeRefreshToken(string refreshToken, RevokeTokenModel model)
        {
            await _refreshTokenService.RevokeAsync(model.Bind(m => m.Token, refreshToken).Token,
                                                   model.Bind(m => m.UserId, UserId).UserId);

            return(NoContent());
        }
        public async Task <IActionResult> RefreshToken([FromBody] RevokeTokenModel model)
        {
            var refreshToken = model.Token ?? Request.Cookies["refreshToken"];
            var response     = await _authServices.RefreshToken(refreshToken, IpAddress());

            if (response == null)
            {
                return(Unauthorized(new { message = "Invalid token" }));
            }

            SetTokenCookie(response.RefreshToken);

            return(Ok(response));
        }
        public IActionResult RevokeToken([FromBody] RevokeTokenModel model)
        {
            // accept token from request body or cookie
            var token = model.Token ?? Request.Cookies["refreshToken"];

            if (string.IsNullOrEmpty(token))
            {
                return(BadRequest(new { message = "Token is required" }));
            }

            var response = _authServices.RevokeToken(token, IpAddress());

            if (!response)
            {
                return(NotFound(new { message = "Token not found" }));
            }

            return(Ok(new { message = "Token revoked" }));
        }
예제 #4
0
 public IActionResult Revoke([FromBody] RevokeTokenModel model)
 {
     _tokenRepository.RevokeToken(model.RefreshToken);
     return(Ok());
 }
 public bool RevokeToken(RevokeTokenModel model)
 {
     throw new NotImplementedException();
 }
예제 #6
0
        public async Task <IActionResult> RevokeAccessToken(RevokeTokenModel model)
        {
            await _accessTokenService.DeactivateCurrentAsync(model.Bind(m => m.UserId, UserId).UserId.ToString("N"));

            return(NoContent());
        }