private Result <UserAndTokenDto> FinishRegister(ApplicationUser user, RefreshToken refreshToken) { _httpContextManager.SetHttpCookieRefreshToken(refreshToken); var accessToken = _tokenManager.GenerateJWT(user); var userDto = new UserDto { Name = user.Name, Email = user.Email }; var userAndTokenDto = new UserAndTokenDto { User = userDto, AccessToken = accessToken, ExpiresAt = _tokenManager.GetJWTExpirationDate(accessToken), }; return(Result <UserAndTokenDto> .Success(userAndTokenDto)); }
private Result <UserAndTokenDto> FinishLogin(ApplicationUser user, RefreshToken refreshToken) { _httpContextManager.SetHttpCookieRefreshToken(refreshToken); var accessToken = _tokenManager.GenerateJWT(user); var userDto = new UserDto { Name = user.Name, Email = user.Email, ImageUrl = user.Photos.FirstOrDefault(x => x.IsCurrentUserPhoto)?.Url }; var userAndTokenDto = new UserAndTokenDto { User = userDto, AccessToken = accessToken, ExpiresAt = _tokenManager.GetJWTExpirationDate(accessToken), }; return(Result <UserAndTokenDto> .Success(userAndTokenDto)); }
private async Task <Result <UserAndTokenDto> > UpdateAndSaveRefreshToken(ApplicationUser user, RefreshToken refreshToken) { _context.RefreshTokens.Remove(refreshToken); var newRefreshToken = new RefreshToken { Token = _tokenManager.GenerateRefreshToken(), ApplicationUser = user, }; _context.RefreshTokens.Add(newRefreshToken); var success = await _context.SaveChangesAsync() > 0; if (!success) { return(Result <UserAndTokenDto> .Failure("Unable to save new refresh token.", true)); } // Set the refresh token cookie. _httpContextManager.SetHttpCookieRefreshToken(newRefreshToken); return(CreateUserAndTokenDto(user)); }