簡體   English   中英

ASP.NET Identity,在 UserTokens 表中存儲刷新令牌

[英]ASP.NET Identity, storing refresh tokens in the UserTokens table

我很好奇使用UserTokens表來存儲刷新令牌,該表是 ASP.NET Identity model 的一部分。

更多背景信息:我正在開發一個非常簡單的 web API 與 JWT 不記名身份驗證。 因此,與刷新令牌不同,我不需要在數據庫中存儲身份驗證令牌。 本文UserTokens表旨在存儲身份驗證令牌,但由於我不需要它們在數據庫中,因此該表只是在沒有任何工作的情況下閑逛。

所以問題是:就優質代碼、語義准確性和可維護性而言, UserTokens表是否適合存儲刷新令牌?

我相信你在這里混合了一些場景。

  1. API 是一個身份提供者,能夠授權用戶並生成刷新/承載令牌

  2. API 是身份數據消費者,即消費令牌並對其進行驗證,如果令牌正常,則提供對端點的訪問。

在第一種情況下,您可能需要刷新令牌並顯然需要為它們存儲。 以后這個就沒用了。

另外,API 可能希望緩存已驗證的令牌並在短時間內存儲它們,因為驗證過程可能需要 https 調用第 3 方身份提供程序(檢查證書等)。

簡短的回答是,您很可能不需要它,除非您沒有構建身份提供程序。

至於默認 ASP 的可維護性。 Net 解決方案,我強烈建議使用 go OOB 設計,如https://github.com/topics/oauth2-server?l=c%23或類似的。 默認的 ASP.Net 實現需要大量的調整和努力來保證生產就緒的質量

編輯 1:還要注意這一步為什么 OAuth v2 同時具有訪問和刷新令牌? 很好地解釋了刷新令牌的生命周期。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM