コード例 #1
0
        public async Task <IActionResult> Login([FromBody] LoginModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user = await _userManager.FindByNameAsync(model.Username);

            if (user == null)
            {
                return(NotFound());
            }
            var result = await _signInManager.PasswordSignInAsync(model.Username, model.Password, false, false);

            if (result.Succeeded)
            {
                return(Ok(await _tokenProvider.GenerateJwtToken("user", user)));
            }
            return(Unauthorized());
        }
コード例 #2
0
        public void CreateSession(User user)
        {
            string token = TokenProvider.GenerateJwtToken(user);

            using (var unitOfWork = new UnitOfWork(HmContext))
            {
                var session = new Session
                {
                    User   = user,
                    Token  = token,
                    UserId = user.UserId
                };

                unitOfWork.Session.Add(session);
                var users = unitOfWork.Users.Get(session.UserId);
                users.Token = session.Token;
                unitOfWork.Update(users);
                unitOfWork.Complete();
            }
        }