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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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));
        }