示例#1
0
        public async Task <LoginResponseModel> LoginUser(LoginRequestModel model)
        {
            var getUserIdByCredentialsRequest = new GetCmsUserIdByCredentialsRequest
            {
                Email    = model.Email,
                Password = _sha512Service.GetBase64Hash(model.Password)
            };

            var userIdResponse = await _cmsUserManagementService.GetIdByCredentials(getUserIdByCredentialsRequest);

            var randomString = _randomStringService.GetRandomString(128);

            var accessToken = _accessTokenService.Create(new UserAccessTokenPayload
            {
                Id = userIdResponse.Id
            }, randomString);

            await _cmsUserManagementService.UpdateRefreshToken(new UpdateCmsUserRefreshTokenRequest
            {
                Id           = userIdResponse.Id,
                RefreshToken = randomString
            });

            return(new LoginResponseModel
            {
                RefreshToken = randomString,
                AccessToken = accessToken
            });
        }
        public async Task <GetCmsUserIdResponse> GetIdByCredentials(GetCmsUserIdByCredentialsRequest request)
        {
            var user = await DbContext.CmsUsers.FirstOrDefaultAsync(u =>
                                                                    u.Email == request.Email && u.Password == request.Password);

            if (user == null)
            {
                throw new EntityNotFoundException <User>();
            }

            return(new GetCmsUserIdResponse
            {
                Id = user.Id
            });
        }
        public async Task <GetCmsUserIdResponse> GetIdByCredentials(GetCmsUserIdByCredentialsRequest request)
        {
            var userIdResponse = await ProcessRequest(request, _cmsUserRepository.GetIdByCredentials);

            return(userIdResponse);
        }