コード例 #1
0
        public IActionResult Create(string username, string password)
        {
            JObject ht = new JObject();

            ht.Add("code", "200");
            ht.Add("msg", "success");
            if (username != password)
            {
            }

            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, username));
            identity.AddClaim(new Claim(ClaimTypes.Name, username));
            identity.AddClaim(new Claim(ClaimTypes.Role, ""));
            identity.AddClaim(new Claim(JwtRegisteredClaimNames.Sub, username));
            identity.AddClaim(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()));
            identity.AddClaim(new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.Now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64));

            var accessToken = CreateAccessToken(identity.Claims.ToList());

            var data = new AuthenticateResultModel()
            {
                AccessToken     = accessToken,
                ExpireInSeconds = (int)_configuration.Value.Expiration.TotalSeconds
            };

            ht.Add("data", JToken.FromObject(data));
            return(Ok(ht));
        }
コード例 #2
0
        public IActionResult Create([FromBody] TokenInput input)
        {
            JObject ht = new JObject();

            ht.Add("code", "200");
            ht.Add("msg", "success");
            var us = db.LoginDb.GetSingle(it => it.userName == input.username);

            if (us == null)
            {
                ht["code"] = "201";
                ht["msg"]  = "用户名或者密码错误!";
                return(Ok(ht));
            }
            string str = SimpleStringCipher.Instance.Encrypt(input.password, null, Encoding.ASCII.GetBytes(us.passWordSalt));

            if (!us.passWord.Equals(str))
            {
                ht["code"] = "201";
                ht["msg"]  = "用户名或者密码错误!";
                return(Ok(ht));
            }
            var identity = new ClaimsIdentity();

            identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, us.userId.ToString(CultureInfo.InvariantCulture)));
            identity.AddClaim(new Claim(ClaimTypes.Name, us.userId.ToString(CultureInfo.InvariantCulture)));
            identity.AddClaim(new Claim(ClaimTypes.Role, us.roleCode.ToString(CultureInfo.InvariantCulture)));
            var claims = identity.Claims.ToList();

            claims.AddRange(new[]
            {
                new Claim(JwtRegisteredClaimNames.Sub, us.userId.ToString(CultureInfo.InvariantCulture)),
                new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()),
                new Claim(JwtRegisteredClaimNames.Iat, DateTimeOffset.Now.ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64)
            });

            var accessToken = CreateAccessToken(claims);

            var data = new AuthenticateResultModel()
            {
                AccessToken     = accessToken,
                ExpireInSeconds = (int)_configuration.Value.Expiration.TotalSeconds
            };

            ht.Add("data", JToken.FromObject(data));
            return(Ok(ht));
        }