Changeset 4e061d8 for iknow-api/Services


Ignore:
Timestamp:
10/27/25 15:22:39 (11 months ago)
Author:
imbrsk <boris696boris@…>
Branches:
master
Children:
1e58098
Parents:
5eb7847
Message:

Implement refresh token functionality with associated services and repositories

Location:
iknow-api/Services
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Services/Implementations/AuthService.cs

    r5eb7847 r4e061d8  
    33using System.Text;
    44using BCrypt.Net;
    5 using iknow_api.Controllers;
     5using iknow_api.Services;
    66using iknow_api.Models;
    77using iknow_api.DTOs;
     
    1414    {
    1515        private readonly IUserRepository _userRepository;
     16        private readonly IRefreshTokenService _refreshTokenService;
    1617        private readonly IConfiguration _configuration;
    1718
    18         public AuthService(IUserRepository userRepository, IConfiguration configuration)
     19        public AuthService(IUserRepository userRepository, IConfiguration configuration, IRefreshTokenService refreshTokenService)
    1920        {
    2021            _userRepository = userRepository;
    2122            _configuration = configuration;
     23            _refreshTokenService = refreshTokenService;
    2224        }
    2325
     
    4345        }
    4446
    45         public async Task<string?> LoginAsync(LoginDto loginDto)
     47        public async Task<AuthResultDto?> LoginAsync(LoginDto loginDto)
    4648        {
    4749            var user = await _userRepository.GetUserByUsernameAsync(loginDto.Email);
     
    4951                return null;
    5052
    51             return CreateToken(user);
     53             var result = new AuthResultDto
     54            {
     55                AccessToken = CreateToken(user)
     56            };
     57
     58            if (loginDto.GenerateRefreshToken)
     59            {
     60                //int userid = _userRepository.GetUserByUsernameAsync(loginDto.Email).Id;
     61                result.RefreshToken = await _refreshTokenService.GenerateRefreshToken(6);
     62            }
     63
     64            return result;
    5265        }
    5366
  • iknow-api/Services/Interfaces/IAuthService.cs

    r5eb7847 r4e061d8  
    66    {
    77        Task<bool> RegisterAsync(RegisterDto registerDto);
    8         Task<string?> LoginAsync(LoginDto loginDto);
     8        Task<AuthResultDto?> LoginAsync(LoginDto loginDto);
    99        Task<int> GetUsersCountAsync();
    1010    }
Note: See TracChangeset for help on using the changeset viewer.