我正在使用 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條經驗 獲得超4個贊
我最近開始了一個類似的項目,并考慮如何進行身份驗證/授權。
最終將 Angular 前端和 AspNetCore 后端視為兩個相似的項目(即使它們在同一個項目下)。您可以將一些 oidc 庫用于 Angular(例如,像這樣),并且您的 Angular 部分基本上是使用Hybrid流的 js 客戶端(最好)。如果用戶嘗試訪問受保護的資源并處理令牌回調并執行 cookie 身份驗證,您可以將 Angular 路由器和路由保護與 oidc 庫之一結合使用,以自動將用戶重定向到身份提供者。
然后,您在AspNetCore中的后端部分將變得簡單ApiResource,您的 Angular 客戶端必須被允許訪問(在)。它根本不關心監護人的任何路由,只關心驗證您的 Angular 客戶端將注入到此后端 Api 的 Http 調用中的不記名令牌。AllowedScopesAppComponent
- 1 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消
