我有自己的自定义OAuthAuthorizationServerProvider
实现。我正在使用基于令牌的安全性与 WebAPI 通信。
在标头中,有一个带有持有者令牌的Authorization
标头。这与 WebAPI 完美配合。
我的应用依赖于第三方 MVC 组件。我想将持有者令牌作为查询字符串的一部分传递,并将其转换为ClaimsPrincipal
以检索当前用户。
在 C# 中可以调用什么来将持有者令牌作为字符串转换为ClaimsPrincipal
(或任何使我能够读取用户 id 声明的对象)?
您可以访问 OAuthAuthorizationServerOptions(在我的例子中名为 OAuthOptions ),然后访问令牌格式并使用取消保护功能。
ticket = Startup.OAuthOptions.AccessTokenFormat.Unprotect(token);
获得令牌后,您可以轻松获得声明。