.Net Core Identity 令牌驗證與帳號安全
本篇筆記紀錄使用 Net Core Identity 產生 Token 所做令牌做一些驗證信處理,帳號登入錯誤太多次,我們可以設定安全規則,在多次登入失敗可以封鎖幾分鐘帳號。我們可以產生令牌,令牌是有時效的,超過時間就會過期,這邊令牌非一般 JWT ,他是有 Data Protection API 做一層加密,這邊不會探討這部分。
本篇筆記紀錄使用 Net Core Identity 產生 Token 所做令牌做一些驗證信處理,帳號登入錯誤太多次,我們可以設定安全規則,在多次登入失敗可以封鎖幾分鐘帳號。我們可以產生令牌,令牌是有時效的,超過時間就會過期,這邊令牌非一般 JWT ,他是有 Data Protection API 做一層加密,這邊不會探討這部分。
驗證與授權是很常用在帳號登入權限判斷,驗證(Authientication)
和授權(Authorization)
要先瞭解這兩個名詞才能順暢了解範例在做什麼。
通常我們使用微軟建立好的資料表不會注意他有做那些關聯,功能方便,在使用的時候也需要注意一些事情,這邊特別記錄資料表關聯調整,設定上程式碼需要調整什麼。
IdentityUser Class (Microsoft.AspNetCore.Identity.EntityFrameworkCore) | Microsoft Docs裡面我們可以看到有基本欄位,但沒有其他資料,如: 性別、城市和國家等資訊。所以我們需要擴展 User 資料欄位方法。
平常我們前後端開發會使用 JWT Token,JWT Token 有讀過相關文章就知道它裡面會存一些資訊,相關驗證都會在 JWT 上面,Server 讀取上面資料就知道是哪一個使用者,不需要在做資料庫查詢。這時候你會覺得這樣安全嗎?但其實它背後原理有做簽章,當你串改資料,JWT 驗證是不會過的,相對機密資料就不建議存在上面。
這邊重零開始建置 Net Core Identity。
最近在架 KVM 使用 WebVirtCloud 做網頁遠端控制 VM,之前研究 Ubuntu 啟用 VNC 是為了能控制 VM GUI 介面,但是在公司沒法連線使用,這邊有找到 WebVirtCloud 可以解決這個問題,透過這個服務可能用 Traefik 轉服務出去,透過 Authelia 做 2FA 驗證可以相當方便,但我發現我不會轉 host 服務出去,這邊就特別研究怎麼用。
最近研究 OpenAPI Spec 都還沒試試 Mock Api工具,這邊測試 Mockoon
和prism
,簡單做個心得。
平常我們介接程式規格一改,我們相關串接程式都要寫程式做調整。最近研究 OpenAPI Spec 可以產生串接程式,這邊就來研究看看。