public async Task <SignInResponse> SignInAsync(SignInRequest reqModel, CancellationToken cancellationToken = default(CancellationToken)) { var account = await _accountRepository.GetOneAsync(x => x.MobileNumber == reqModel.MobileNumber, cancellationToken); if (account is null || !BC.Verify(reqModel.Password, account.PasswordHash)) { throw new SignInException("Email or password is incorrect"); } return(new SignInResponse { Id = account.Id, Role = account.Role, AccessToken = _jwtManager.GenerateAccessToken(account), RefreshToken = (await _refreshTokenService.Create(account.Id)).Token, }); }
private async Task <LoginResponse> GetLoginResponseAsync(User user) { var userRoles = await userManager.GetRolesAsync(user); return(new LoginResponse { User = mapper.Map <UserView>(user), AccessToken = jwtManager.GenerateAccessToken(user.Id, userRoles), RefreshToken = await jwtManager.SaveAndGetRefreshTokenAsync(user) }); }