Beispiel #1
0
        public async Task <TokenToReturn> LoginAsync(UserToLogin userToLogin)
        {
            userToLogin.UserName = userToLogin.UserName.ToLower();

            var userFromRepo = await _userRepo.GetSingleAsync(userToLogin.UserName);

            if (userFromRepo == null)
            {
                throw new Exception("Wrong credentials.");
            }

            var result = await _signInManager
                         .CheckPasswordSignInAsync(userFromRepo, userToLogin.Password, false);

            if (!result.Succeeded)
            {
                throw new Exception("Error occurred");
            }

            var userToReturn = _mapper.Map <UserDetail>(userFromRepo);

            var tokenToReturn = new TokenToReturn
            {
                Token = await _tokenService.CreateTokenAsync(userFromRepo),
                User  = userToReturn
            };

            return(tokenToReturn);
        }
Beispiel #2
0
        public IHttpActionResult Login(LoginRequest login)
        {
            if (login == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            var res = _user.ValidateUser(login.Username, login.Password);

            var tokenToReturn = new TokenToReturn
            {
                Token = ""
            };

            if (res.Success)
            {
                var user = (User)res.Object;

                var token = TokenGenerator.GenerateTokenJwt(user.ID, user.UserName);

                tokenToReturn.Token = token;

                return(Content(HttpStatusCode.OK, tokenToReturn.Token));
            }
            else
            {
                return(Content(HttpStatusCode.Unauthorized, "Wrong Crendencials"));
            }
        }