客製 CSRF/XSRF Token 驗證 for NET8 React and ASP.NET Core 專案

引言

經幾天試用 .NET8 的 React and ASP.NET Core 專案,預設的 Anti-Forgery 機制並不合用(上一版的可以)。思考後決定自製。未來若又可用了就用回去預設的 Anti-Forgery 機制。

自訂 Anti-forgery 機制

用於登入。流程大蓋如下圖。

1) 當一進入 Login page 時,自動抓取 XSRF token 回來。

2) 送出登入封包時,夾帶 XSRF token 上去檢查,若登入成功送回 Auth Cookie。

其中,不管是 XSRF toekn 還是 Auth Cookie 都用 cookie 送回,並加上同源政策檢查,httpOnly=true, Secure=true, SameSite=Lax。

程式碼紀錄

這裡只看 XSRF token 的部份。

開發成 Filter 來使用更方便。

XSRF 相關的碼集中在一起。開發成 Filter 來使用更方便。

別忘了註冊

完整程式碼

(EOF)

Last updated