Identity Server 4 与 ASP.NET Core MVC 进行身份验证然后调用 Angular SPA

贾瓦哈尔

我正在使用带有 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 调用。

Ruikai Feng

我认为您可以阅读文档并尝试设置为文档:

https://identityserver4.readthedocs.io/en/latest/quickstarts/3_aspnetcore_and_apis.html#modifying-the-mvc-client

如果要将令牌存储在 cookie 中,可以在控制器中尝试如下:

var accessToken =  await HttpContext.GetTokenAsync("access_token");
Response.Cookies.Append("access_token", accessToken);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用运行Identity Server 4的ASP.NET CORE 3身份验证服务器对ASP.NET MVC 5应用(目标.net 4.5)进行身份验证

ASP .NET Core MVC部署到Azure Identity Server 4

使用 Asp.net Core 2.1 和 Identity Server 4 的身份验证/授权

无法获取 Angular SPA 以使用 Azure Active Directory 对 ASP.NET MVC WebAPI 进行身份验证

如何在ASP.NET MVC Core中为Identity Server 4编写集成测试

Aspnet Core 3.1 MVC Razor 页面在使用 Identity Server 4 OpenIdConnect 进行身份验证后获得 302

.Net Core自定义身份验证,使用带有Identity Server 4的API密钥

带有ASP.NET Core 2.2的Identity Server 4

Identity Server 4(2.0)无法读取Asp.Net Core身份cookie

使用Identity Core的ASP.NET MVC框架中的身份

ASP Net Core Identity令牌身份验证到期

使用ReactJS SPA在.net Core中进行身份验证

ASP .NET Core Identity默认身份验证与JWT身份验证

配置 ASP.NET MVC 4 Web 应用程序以使用 Identity Server 4

IdentityServer4替换Asp.net 4.5 MVC5 SimpleMembership进行身份验证

SPA(Aurelia)+ ASP.NET Core WebAPI + Google身份验证

ASP.NET MVC 4用户身份验证

ASP.NET Identity 与 ASP.NET Identity Core:与 Identity Server 等的区别和用法?

Asp.net Core 2使用Identity Server 4启用多租户

Angular-使用asp.net Core Spa的多个环境

ASP.NET Core 3-Angular SPA PWA

使用ASP.NET Core REST API在SPA(Angular 2)中进行社会注册

在Azure kubernetes服务中运行ASPNET Core 3.1 MVC应用程序,在Azure应用程序网关后面使用identc身份验证并使用Identity Server 4

用于PUT和POST的Angular4 ASP.NET Core 1.2 Windows身份验证CORS给出401

Identity Server 4 Swagger身份验证

在 Identity Server ASP.NET Core 中获取 accessToken

使用Angular SPA应用程序与IdentityServer4进行通信以进行身份验证/授权,以接收令牌,然后与Web API进行通信

ASP .NET MVC在工作期间进行身份验证并保持用户身份验证的最佳实践

在带有身份服务器的 asp.net core angular SPA 中,SignalR 授权无法开箱即用