[英]How do I use Discord OAuth2 for user management and authentication in my application?
我正在構建一個應用程序,我希望能夠使用 Discord 和 OAuth2 創建和驗證用戶。 原因是:
該應用程序由客戶端桌面應用程序和后端服務組成。 我對如何使用 Discord 授權用戶有相當基本的了解:
/oauth/login
並且用戶被重定向到 Discord 應用程序批准頁面/oauth/callback
,其代碼可用於獲取一對訪問和刷新令牌。坦率地說,從這一點來看,我對身份驗證的 rest 應該如何工作感到困惑。 我至少假設以下幾點:
但現在呢? 這僅針對 Discord 對用戶進行身份驗證。 我想利用用戶通過 Discord 進行身份驗證這一事實對我的應用程序進行身份驗證。 以下是我的一些一般性問題:
這一切都感覺應該是非常基本的,但我在這里超出了我的舒適區,需要一些幫助才能暢通無阻。
謝謝閱讀!
您自己的應用程序應該有效地擁有自己的 session 系統。
最簡單的可能只是使用基於 HttpOnly cookie 的會話,類似於 Redis 存儲(如果這是一個玩具項目,則為 Memory 存儲)。
服務器上的 session 數據應包含有關當前登錄的用戶的信息。您可能應該將 discord 訪問和刷新令牌存儲在數據庫中。
處理刷新的最簡單方法是在收到401
響應后立即調用其刷新令牌端點。 如果 discord 提供有關訪問令牌有效時間的信息,您也可以搶先刷新而不是僅在獲得401
時才這樣做。 您的服務器進行刷新,您不需要端點。
一般來說,我建議您的服務器處理與 discord API 的所有交互,而不是您的客戶端。 (除了初始授權步驟)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.