我知道。我知道。很多问题都与这个确切的标题有关。但在我看过的所有这些中,我找不到一个使用 List<Claim>、issuer 和 来创建 JWT audience。 private string GetTokenString() { var claims = new List<Claim>() { new Claim("claim1", "foo-anything"), new Claim("claim2", "bar-anything") }; string keyValue = "1234567890qwertyuiopasdfghjklzxcvbnm"; // NOT THE REAL KEY (changed for this SO question) var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(keyValue)); var jwtToken = new JwtSecurityToken ( issuer: "https://xxxxxx.net", audience: "https://www.xxxxxx.com", claims: claims, signingCredentials: new SigningCredentials(key, SecurityAlgorithms.HmacSha256Signature), expires: DateTime.Now.AddMinutes(30) ); var handler = new JwtSecurityTokenHandler(); string tokenString = handler.WriteToken(jwtToken); return tokenString; }然后,如果我将 tokenString 插入 https://jwt.io/,我获取签名无效我创建 JWT 的方式有问题吗?
1 回答
萧十郎
TA贡献1815条经验 获得超12个赞
查看签名密钥的 Base64 编码
1234567890qwertyuiopasdfghjklzxcvbnm
结果是这样的
MTIzNDU2Nzg5MHF3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5t
请使用此值来验证生成的令牌,在这种情况下,应选中该复选框。
如果将该复选框留空,则使用与代码中相同的值。
- 1 回答
- 0 关注
- 127 浏览
添加回答
举报
0/150
提交
取消