Exemplo n.º 1
0
        public async Task <InvokeResult> ValidateRefreshTokenAsync(string refreshTokenId, string userId)
        {
            var validateFormatResult = ValidateRefreshTokenFormat(refreshTokenId);

            if (!validateFormatResult.Successful)
            {
                return(validateFormatResult);
            }

            var token = await _refreshTokenRepo.GetRefreshTokenAsync(refreshTokenId, userId);

            if (token == null)
            {
                _adminLogger.AddCustomEvent(Core.PlatformSupport.LogLevel.Error, "AuthRequestValidators_ValidateRefreshTokenAsync", UserAdminErrorCodes.AuthRefreshTokenNotInStorage.Message, new KeyValuePair <string, string>("refreshtokenid", refreshTokenId));
                return(InvokeResult.FromErrors(UserAdminErrorCodes.AuthRefreshTokenNotInStorage.ToErrorMessage()));
            }

            if (token.ExpiresUtc.ToDateTime() < DateTime.UtcNow)
            {
                _adminLogger.AddCustomEvent(Core.PlatformSupport.LogLevel.Error, "AuthRequestValidators_ValidateRefreshTokenAsync", UserAdminErrorCodes.AuthRefreshTokenExpired.Message);
                await _refreshTokenRepo.RemoveRefreshTokenAsync(refreshTokenId, userId);

                return(InvokeResult.FromErrors(UserAdminErrorCodes.AuthRefreshTokenExpired.ToErrorMessage()));
            }
            return(InvokeResult.Success);
        }
Exemplo n.º 2
0
 public Task <RefreshToken> GetRefreshTokenAsync(string refreshTokenId, string userId)
 {
     return(_refreshTokenRepo.GetRefreshTokenAsync(refreshTokenId, userId));
 }