public IActionResult RefreshToken([FromBody] UserRefreshTokenRequest request)
 {
     try
     {
         var accessToken = _authenticationService.RefreshAccessToken(request.AccessToken, request.RefreshToken, out var newRefreshToken);
         return(new ObjectResult(new
         {
             StatusCode = ResponseConstants.Success,
             AccessToken = accessToken,
             RefreshToken = newRefreshToken
         }));
     }
     catch (TokenCanNotBeRefreshedException)
     {
         return(new ObjectResult(new Result {
             StatusCode = ResponseConstants.Unauthorized
         }));
     }
     catch (RefreshTokenNotValidException)
     {
         return(new ObjectResult(new Result {
             StatusCode = ResponseConstants.Unauthorized
         }));
     }
     catch (Exception)
     {
         return(new ObjectResult(new Result {
             StatusCode = ResponseConstants.Unknown
         }));
     }
 }
        public async Task <IActionResult> RefreshToken([FromBody] UserRefreshTokenRequest request, CancellationToken cancellationToken)
        {
            var user = await userManager.GetUserAsync(User);

            if (user == null)
            {
                return(BadRequest());
            }

            await service.UpdateUserRegistrationAsync(user, request.RegistrationToken, cancellationToken);

            return(Ok());
        }
        public async Task <IActionResult> Refresh([FromBody] UserRefreshTokenRequest request)
        {
            var result = await _identityService.RefreshTokenAsync(request.Token, request.RefreshToken);

            if (!result.IsSuccess)
            {
                return(BadRequest(new AuthFailedResponse
                {
                    Errors = new[] { EMultiplexConstants.ErrorOccured }
                }));
            }
            return(Ok(new AuthSuccessResponse
            {
                Token = result.Token,
                RefreshToken = result.RefreshToken
            }));
        }