public IActionResult EmailLogin([FromBody] EmailLoginDto payload)
        {
            var result = _authenticationService.AuthenticateEmailAndPassword(payload);

            return(new JsonResult(new
            {
                valid = result.Accepted,
                token = result.Token,
                email = result.User.Get(user => user.Email, () => ""),
                displayName = result.User.Get(user => user.DisplayName, () => "")
            }));
        }
        public async Task<ActionResult> TokenByEmail([FromBody]EmailLoginDto login, CancellationToken cancellation)
        {
            if (login != null)
            {
                var user = new User()
                {
                    Email = login.Email,
                    Password = login.Password
                };
                var token = await _userRepository.LoginByEmail(user, cancellation);
                if (token == null)
                {
                    _logger.LogTrace("this my Error >>>>>>");
                    return Unauthorized();
                }

                return new JsonResult(token);
            }
            return Unauthorized();

        }
示例#3
0
        public AuthResult AuthenticateEmailAndPassword(EmailLoginDto payload)
        {
            var search = _userService.FindByEmailRegistration(payload.Email);

            return(search.Get(
                       user => {
                var passwordMatches = _userService.ComparePassword(user.Id, payload.Password);

                return new AuthResult
                {
                    Accepted = passwordMatches,
                    Token = passwordMatches ? _authTokenService.GenerateToken(user.Id) : "",
                    User = new Option <UserDto>(user)
                };
            },
                       () => new AuthResult {
                Accepted = false,
                Token = "",
                User = new Option <UserDto>()
            }
                       ));
        }