因為本實驗要清楚其底層運作,故不使用網頁,改用POSTMAN工具來詳細檢視驗證及授權的過程。
在專案的appsettings.json 中,在JWT 中的KEY 宣告自己的KEY種子

-
使用POSTMAN工具,在POST 的 Body頁籤中,將正確的 username及password 使用JASON 方式輸入
-
我們加字,再重新執行程式。再用POSTMAN 重新發送請求,程式比對username 及 password 都正確,就會返回 JWT Token

-
接下來,我們要確認驗證是否發揮作用。程式裡宣告要訪問 /secure 這個路徑是必須經過授權的,於是我們用GET訪問 /secure。得到200 OK.

-
接下來,我們故意弄亂Token 再重新發送。會得到 401 unauthorized 錯誤(未被授權).由此可知,若沒通過認證取得授權,是無法訪問加鎖的頁面的。

- 但是,若我們套用了特定策略(本範例最後定稿的寫法):
options.AddPolicy("SecureEndpointPolicy", policy =>
policy.RequireRole("SecureRole"));
仔細驗證後可以發現當路徑宣告為Authorize,只要帳號密碼通過,即可訪問,不再需要附上Token。但是若宣告為 RequireAuthorization("SecureEndpointPolicy")(下圖綠色部分),則表示須符合特定Policy,頁面一定要附上Token,才能訪問。



