OAuth
💡
Auth.js 設計為可與任何 OAuth 服務搭配使用,它支援 OAuth 2.0 和 OpenID Connect,並內建支援大多數熱門的登入服務。
Auth.js 中的驗證提供者是預定義的 OAuth 設定,讓您的使用者可以使用他們喜愛的服務上的現有登入資訊登入。您可以使用我們任何預定義的提供者,或撰寫您自己的自訂 OAuth 設定。如需自訂或撰寫您自己的 OAuth 提供者,請參閱我們的設定 OAuth 提供者指南。
從較高層面來看,我們支援的 OAuth 授權碼流程通常有 6 個部分
- 應用程式要求授權以存取使用者服務資源
- 如果使用者授權了請求,應用程式會收到授權許可
- 應用程式透過呈現其自身身分驗證和授權許可,從授權伺服器 (API) 請求存取權杖
- 如果應用程式身分驗證通過且授權許可有效,授權伺服器 (API) 會向應用程式發出存取權杖。授權完成。
- 應用程式從資源伺服器 (API) 請求資源,並呈現存取權杖以進行驗證
- 如果存取權杖有效,資源伺服器 (API) 會將資源提供給應用程式
圖表
下方是兩個圖表,以視覺方式說明與上述相同的基本流程,即 OAuth 授權碼流程。第一個是循序圖。
接下來是泳道圖,該圖來自一篇很棒的文章,使用 Auth.js 和 SvelteKit 設定 OAuth,作者是 Andrey Mikhaylov,來自 mainmatter.com。

延伸閱讀
若要深入了解,請查看下列部落格文章
- Aaron Parecki 的部落格文章簡化 OAuth2
- Postman 的部落格文章OAuth 2.0:隱式流程已死,請改用 PKCE
- 使用 Auth.js 和 SvelteKit 設定 OAuth 部落格文章