public async Task <string> RefreshAccessToken(string refreshTokenStr) { var decodedRefreshToken = _refreshTokenDecoder.Decode(refreshTokenStr); if (decodedRefreshToken == null) { _logger.LogWarning("Cannot refresh access token - decoding failure"); return(null); } var refreshToken = await _refreshTokenRepository.GetByIdAsync(decodedRefreshToken.Id); if (refreshToken?.IsRevoked ?? false) { _logger.LogWarning("Cannot refresh access token - no such refresh token or token is revoked"); return(null); } return(_accessTokenService.Create(decodedRefreshToken.UserClaims)); }
public TokenPayload DecodeRefreshToken([FromBody] string refreshToken) { return(_refreshTokenDecoder.Decode(refreshToken)); }