public async Task <LoginResponseModel> LoginUser(LoginRequestModel model) { var getUserIdByCredentialsRequest = new GetUserIdByCredentialsRequest { Email = model.Email, Password = _sha512Service.GetBase64Hash(model.Password) }; var userIdResponse = await _userManagementService.GetIdByCredentials(getUserIdByCredentialsRequest); var randomString = _randomStringService.GetRandomString(128); var accessToken = _accessTokenService.Create(new UserAccessTokenPayload { Id = userIdResponse.Id }, randomString); await _userManagementService.UpdateRefreshToken(new UpdateUserRefreshTokenRequest { Id = userIdResponse.Id, RefreshToken = randomString }); return(new LoginResponseModel { RefreshToken = randomString, AccessToken = accessToken }); }
public async Task <GetUserIdResponse> GetIdByCredentials(GetUserIdByCredentialsRequest request) { var user = await DbContext.Users.FirstOrDefaultAsync(u => u.Email == request.Email && u.Password == request.Password); if (user == null) { throw new EntityNotFoundException <User>(); } return(new GetUserIdResponse { Id = user.Id }); }
public async Task <GetUserIdResponse> GetIdByCredentials(GetUserIdByCredentialsRequest request) { var userIdResponse = await ProcessRequest(request, _userRepository.GetIdByCredentials); return(userIdResponse); }