小编agu*_*agu的帖子

identityserver 4 获取当前用户的 access_token

我在获取当前用户的 access_token 时遇到问题。这是我的设置:

  • aspnet 核心、身份和 EF 存储中的 QuickstartIdentityServer (QIS)
  • NodeJs 中的 API (API)。针对 QIS 验证标头中的 jwt 令牌。
  • SPA angular 应用程序与 QIS 和 API 配合得很好,超出了这个问题的范围

在 QuickstartIdentityServer (QIS) 站点(用户详细信息页面)的一部分中,我想使用 access_token 调用 API 端点来验证请求。我正在努力从我的 QIS 站点检索当前用户的 access_token。每当我打电话时,HttpContext.GetTokenAsync("access_token")我都会得到一个空值。我看过 IdSrv4 文档的这一部分:https ://identityserver4.readthedocs.io/en/release/quickstarts/5_hybrid_and_api_access.html?highlight = gettokenasync但它似乎适用于 MVC 客户端而不是我自己的身份服务器。

任何人都可以阐明如何获取我用户的 access_token ?

谢谢

编辑

这是尝试更好地解释我的问题的起点:https : //github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/6_AspNetIdentity/src/IdentityServerWithAspNetIdentity

从这个 QIS 项目开始,我想获取登录用户的访问令牌。因此,例如,如果我编辑HomeController添加此调用:

public async Task<IActionResult> Index()
{
     var accessToken = await HttpContext.GetTokenAsync("access_token");
     return View(accessToken);
}
Run Code Online (Sandbox Code Playgroud)

然后我就可以在 Auth Header 中使用这个令牌调用我的 NodeJS API。

希望这能更好地解释我的问题。

jwt asp.net-identity asp.net-core identityserver4

5
推荐指数
1
解决办法
2333
查看次数