Пример #1
0
        public IHttpActionResult Token([FromBody] LoginModel loginModel)
        {
            if (!ModelState.IsValid || loginModel == null)
            {
                return(BadRequest(ModelState));
            }

            // ===========================================================
            // 验证用户登录信息
            // ===========================================================

            var currentUser = _accountService.Get(loginModel.UserName, loginModel.Password);

            if (currentUser == null)
            {
                return(BadRequest("用户验证失败,请检查您的密码是否正确"));
            }

            // ===========================================================
            // 验证通过
            // ===========================================================

            var expires = DateTime.Now.AddSeconds(60 * 60 * 24);

            var profile = _userProfileProvider.Get(currentUser.Id);

            return(Ok(new TokenModel
            {
                AccessToken = SecurityUtils.CreateToken(profile, expires),
                UserId = currentUser.Id,
                UserName = loginModel.UserName,
                Expires = expires
            }));
        }