這是 jwt 不記名令牌授權的非常基本的展示案例,使用 Angular 作為前端,ASP.NET Core 作為後端。 ASP.NET Core3.1 angular7.2.1 與 systemjs。 (確保已安裝 dotnet core 3.1 + 和 Angular7.2.1)
(為什麼systemjs不是webpack?個人觀點:webpack太複雜了,無法用於任何小尺寸、簡單的應用程序,我寧願犧牲效率讓大多數程式設計師可以閱讀我的範例程式碼)
現在你可以停止google並了解如何進行bear JWT token認證,很簡單!
在後端:MS$ 提供中間件 AddAuthentication().AddJwtBearer() 來進行 Bear JWT 令牌身份驗證,因此,事情變得像在 Startup.cs 中新增中間件一樣簡單
在前端(在本例中為 Angular):將令牌保存在 sessionStorage 中,並在與後端通訊時,將 http(用於生產的 https)請求的標頭設為:
let headers = new HttpHeaders()
.set('Content-Type','application/json')
.set("Authorization", "Bearer " + token);
ASP.NET Core 3.1(VS2019 或 csproj 版本)中的 Angular 和 Material 7.2.1 以及 JWT 解決方案。
確保:
ASP.NET CORE 3.1已經安裝,如果沒有,請從這裡取得:https://www.microsoft.com/net/download/core
已安裝nodejs,如果沒有安裝,請從https://nodejs.org/en/download/取得
下載此儲存庫後,請前往包含檔案 ASPNETCoreAngularJWT.csproj 的資料夾並執行命令:
>dotnet restore
>npm install
>npm start
最後啟動 dotnet 和瀏覽器 http://localhost:5000
>dotnet run
並且不要忘記在修改任何打字稿檔案後運行“npm start”。
您可以運行它進行角度編譯和 dotnet 運行
>npm run runall
它也可以透過 Visual Studio 2017 或 Visual Studio Code 開啟。用VS2017打開後,在調試運行之前,確保項目->屬性->調試和應用程序URL =“http://localhost:5000”並在開始調試之前再次重建