将字符串 OAuth 令牌转换为声明主体

本文关键字:声明 主体 转换 令牌 字符串 OAuth | 更新日期: 2023-09-27 18:33:52

我有自己的自定义OAuthAuthorizationServerProvider实现。我正在使用基于令牌的安全性与 WebAPI 通信。

在标头中,有一个带有持有者令牌的Authorization标头。这与 WebAPI 完美配合。

我的应用依赖于第三方 MVC 组件。我想将持有者令牌作为查询字符串的一部分传递,并将其转换为ClaimsPrincipal以检索当前用户。

在 C# 中可以调用什么来将持有者令牌作为字符串转换为ClaimsPrincipal(或任何使我能够读取用户 id 声明的对象)?

将字符串 OAuth 令牌转换为声明主体

您可以访问 OAuthAuthorizationServerOptions(在我的例子中名为 OAuthOptions ),然后访问令牌格式并使用取消保护功能。

ticket = Startup.OAuthOptions.AccessTokenFormat.Unprotect(token);

获得令牌后,您可以轻松获得声明。