public async Task <ActionResult <AuthResult> > LoginAsync(RefreshTokenLoginRequest request) { var authResult = await userService.AuthenticateAsync(request).ConfigureAwait(false); var result = Authenticate(authResult); return(result); }
public void SaveRefreshToken(int timeoutInSeconds, RefreshTokenLoginRequest request) { var cacheOptions = new DistributedCacheEntryOptions(); cacheOptions.SetAbsoluteExpiration(TimeSpan.FromSeconds(timeoutInSeconds)); cache.SetString ( request.RefreshToken, JsonConvert.SerializeObject(request), cacheOptions ); }
public async Task <AuthResult> AuthenticateAsync(RefreshTokenLoginRequest request) { var invalidAuth = new AuthResult("Invalid refresh token"); var refreshTokenInfo = refreshTokenRepositoryCache.GetRefreshToken(request?.RefreshToken); if (refreshTokenInfo == null || refreshTokenInfo.Email != refreshTokenInfo.Email) { return(invalidAuth); } var user = await GetByEmailAsync(request.Email); if (user == null) { return(invalidAuth); } return(new AuthResult(user)); }