小编Jim*_*obo的帖子

如何在 Asp.NET Core WEB API 中使用 .Net (C#) 在 Payload 中创建带有自定义 JSON 声明的 JWT 令牌

我正在使用以下代码生成令牌,其中包含简单的 JSON 数据

  [HttpPost("Token")]
     public IActionResult Token(string userid)
    {
        if ((!string.IsNullOrEmpty(userid)))
        {
            var user = webuserprovider.GetWebUser(userid);

            // validate for 0 records 
            if (user.Count() > 0)
            {
               // if user return 1 row
               var claimsdata = new[]
               { 
                     new  Claim("id",user.First().UserID),                     
               };
                
                var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("secretKey"));
                var signInCred = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
                var token = new JwtSecurityToken(
                      users:{ "id": user.First().UserID},
                      issuer: "mysite.com",
                      audience: "yoursite.com",
                      expires: DateTime.Now.AddMinutes(3),
                      claims: claimsdata,                      
                    signingCredentials: signInCred
                    );
                  var jwt = new JwtSecurityTokenHandler().WriteToken(token);
                  return Ok(new {jwt});
               // return …
Run Code Online (Sandbox Code Playgroud)

c# jwt asp.net-core asp.net-core-webapi

6
推荐指数
2
解决办法
1万
查看次数

如何在c#中对json对象的数组进行deserilize

嗨,我想从Web服务返回的JSON对象中读取Id:

[{ "ID":11 "用户名": "TEST5"}]

码:

HttpResponseMessage response = null;

using (response = httpClient.PostAsync(url, content).Result)
{
    try
    {
        response.EnsureSuccessStatusCode(); //200 Ok
        string responJsonText = response.Content.ReadAsStringAsync().Result;
        JObject res = JObject.Parse(responJsonText);
       //if ((int)res["id"][0] > 0)
       // {
            var uid = (int)res["id"][0];
            if (uid > 0)
            {
                return uid;
            }
            else
            { return 0; }
       // }
       // else
       //{ return 0; }
    } 
Run Code Online (Sandbox Code Playgroud)

我如何使用C#从Json Response读取Id和用户名?

我收到以下消息的异常:

从JsonReader读取JObject时出错.当前的JsonReader项不是对象:StartArray.路径

.net c# json asp.net-web-api

-2
推荐指数
1
解决办法
115
查看次数