gpt4 book ai didi

c# - 我可以从不记名 token Web API 中检索用户名/身份以外的信息吗

转载 作者:行者123 更新时间:2023-11-30 20:16:19 26 4
gpt4 key购买 nike

我对基于 token 的身份验证非常陌生。我可以从 ClaimsPrincipal 主体(身份)读取用户名以外的内容吗?有没有办法在不记名 token 中读取/写入(存储)其他信息。

ClaimsPrincipal principal = Request.GetRequestContext().Principal as ClaimsPrincipal;

var Name = ClaimsPrincipal.Current.Identity.Name;

最佳答案

附加信息存储在 JWT 的有效负载部分中,即所谓的声明。JWT 在 RFC 7519 中描述和 section 4此 rfc 的一部分描述了标准声明以及使用私有(private)声明名称的可能性。

JWT 颁发者(授权服务器)也可以向 JWT 写入附加声明,例如:

var identity = new ClaimsIdentity("JWT");  

identity.AddClaim(new Claim(ClaimTypes.Name, context.UserName)); // standard claim
identity.AddClaim(new Claim("myClaim", "myClaimValue")); // private claim

请注意:只有发布者才能向 JWT 添加信息,并且只能在创建 JWT 期间完成。

由于 JWT 的有效负载只是普通的 JSON(经过 base64 解码),您可以阅读所有声明。

检查 https://jwt.io/例如。

关于c# - 我可以从不记名 token Web API 中检索用户名/身份以外的信息吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49424797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com