我正在使用带有 Identity Server 4 (Duende) 和 Angular 客户端的 ASP.NET Core MVC 应用程序。
用户通过 ASP.NET Core MVC 登录控制器登录,在成功验证后重定向到另一个控制器,该控制器返回一个视图,其中包含 Angular 启动文件,即 main.js 和相关的 js 文件,然后启动 Angular 应用程序。
有没有办法使用身份验证令牌设置 cookie,以便 Angular 应用程序可以访问它?会话或缓存是执行此操作的方法吗?我需要访问令牌以将其传递给 SignalR 集线器以满足数据需求。
在大多数情况下,Angular 应用程序会使用 OIDC 客户端库直接调用身份服务器 API 端点进行身份验证,然后可以使用 OIDC 客户端库中的 getAccessToken 方法进行进一步的授权 API 调用。
我认为您可以阅读文档并尝试设置为文档:
如果要将令牌存储在 cookie 中,可以在控制器中尝试如下:
var accessToken = await HttpContext.GetTokenAsync("access_token");
Response.Cookies.Append("access_token", accessToken);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句