为了账号安全,请及时绑定邮箱和手机立即绑定

使用 razor 服务 Angular 以实现基于 cookie 的身份验证

使用 razor 服务 Angular 以实现基于 cookie 的身份验证

C#
哆啦的时光机 2022-07-23 16:28:45
我正在使用 Angular 7、Asp.net core 2、Asp.net Identity、IdentityServer4 开始一个新项目。简而言之,我的项目架构如下:一个 Web API 项目(资源服务器)数据访问层项目(c#项目库)使用 Asp 身份的身份服务器 4还有一个 Angular 7 客户端,这个项目是使用两个 cli 命令生成的:“dotnet new angular”,以生成后端。和“ng new”生成前端代码。因此,由于 Angular 项目有后端,出于安全原因,我选择了混合流程。我的目标是使用 Angular 客户端后端使用 cookie 对 Angular 客户端用户进行身份验证。我使用 MVC 客户端轻松完成了这项工作,但我仍然无法弄清楚如何使用 Angular 客户端实现相同的目标。我目前的想法是使用两个动作来提供角度服务,一个为匿名用户呈现剃刀 cshtml 页面,另一个为“授权”用户呈现,但我仍然不确定这是否可以实现。这是一个好方法还是有更好的方法?
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

我最近开始了一个类似的项目,并考虑如何进行身份验证/授权。

最终将 Angular 前端和 AspNetCore 后端视为两个相似的项目(即使它们在同一个项目下)。您可以将一些 oidc 库用于 Angular(例如,像这样),并且您的 Angular 部分基本上是使用Hybrid流的 js 客户端(最好)。如果用户尝试访问受保护的资源并处理令牌回调并执行 cookie 身份验证,您可以将 Angular 路由器和路由保护与 oidc 库之一结合使用,以自动将用户重定向到身份提供者。

然后,您在AspNetCore中的后端部分将变得简单ApiResource,您的 Angular 客户端必须被允许访问(在)。它根本不关心监护人的任何路由,只关心验证您的 Angular 客户端将注入到此后端 Api 的 Http 调用中的不记名令牌。AllowedScopesAppComponent


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信