示例#1
0
        public async Task <Response <AuthInfoDTO> > Authenticate(CredentialsDTO request)
        {
            var user = await _provider.GetUserDetail(request.Email);

            if (user.Data == null)
            {
                return(new SecurityErrorResponse <AuthInfoDTO>()
                {
                    Code = ErrorCodes.Security.AuthDataInvalid,
                    Message = ErrorMessages.Security.AuthDataInvalid,
                });
            }

            if (user.Data.RoleId != RoleGuid.Admin)
            {
                return(new SecurityErrorResponse <AuthInfoDTO>()
                {
                    Code = ErrorCodes.Security.AuthDataInvalid,
                    Message = ErrorMessages.Security.AuthDataInvalid,
                });
            }
            var result = await _tokensService.Authenticate(request);

            return(result);
        }
示例#2
0
        public async Task <Response <AuthInfoDTO> > SignUpMemberEmail(SignUpMemberDTO dto)
        {
            var signUpResult = await _service.SignUpMemberEmail(dto);

            if (!signUpResult.IsSuccess)
            {
                var errorResponse = (ErrorResponse <UserDTO>)signUpResult;

                return(new ErrorResponse <AuthInfoDTO>
                {
                    Message = errorResponse.Message,
                    Code = errorResponse.Code,
                    Errors = errorResponse.Errors,
                    HttpStatusCode = errorResponse.HttpStatusCode
                });
            }

            var resultToken = await _tokensService.Authenticate(new CredentialsDTO
            {
                Password = dto.Password,
                Email    = signUpResult.Data.Email
            });

            return(resultToken);
        }
示例#3
0
        public async Task <Response> SetPassword(UserSetPasswordDTO dto, ClaimsPrincipal claims)
        {
            var userResponse = await _provider.GetById(claims.GetUserId());

            if (!userResponse.IsSuccess)
            {
                return(userResponse);
            }

            var oldPasswordCorrectResponse = await _tokensService.Authenticate(new CredentialsDTO
            {
                Email    = userResponse.Data.Email,
                Password = dto.OldPassword
            });

            if (!oldPasswordCorrectResponse.IsSuccess)
            {
                return(oldPasswordCorrectResponse);
            }

            return(await _service.SetPassword(userResponse.Data.Email, dto.Password));
        }
示例#4
0
        public async Task <Response <AuthInfoDTO> > Login(AuthDTO dto)
        {
            var result = await _tokensService.Authenticate(dto);

            return(result);
        }
示例#5
0
        public async Task <Response <AuthInfoDTO> > Authenticate(CredentialsDTO request)
        {
            var result = await _tokensService.Authenticate(request);

            return(result);
        }