我有 Asp.Net MVC Core 应用程序,里面是 React JavaScript 应用程序。
我想在 MVC 部分和 React JavaScript 部分之间共享访问令牌。
我使用隐式流程生成访问令牌
IdentityServer4
。
我使用了
UseOpenIdConnectAuthentication
中间件,它可能将令牌存储在 cookie 中,但该 cookie 无法从 JavaScript 读取。
如何将访问令牌从 MVC 传递到 JavaScript?我想在 JavaScript 中使用这个令牌来调用 React 的 API。
最后,我想将令牌存储在 MVC 的 cookie 中(没关系),并将 React 部分存储在 localStorage 中 - 但我不知道如何将令牌从 MVC 发送到 React。
从 React 中,您可以调用 MVC 服务器并将令牌返回给 React:
public class SomeController : Controller
{
[Authorize]
public async Task<String> GetAccessToken()
{
var accessToken = await HttpContext.Authentication.GetTokenAsync("access_token");
return accessToken;
}
}