繁體中文(台灣)
  • auth
  • integration
  • oauth
  • oidc
  • identity

使用 Logto 簡化 OAuth 和 OIDC 驗證

我們的社群對於將 Logto 作為某些產品的身分提供者表示了興趣,例如 Outline 或 ChatGPT 插件。理論上,Logto 可以作為 OAuth 或 OIDC (OpenID Connect) 提供者,只要你想整合的產品支援這些協議中的任一即可。

Gao
Gao
Founder

Logto 是一個易於使用的身分解決方案,提供所有必要的功能。它支援各種登入方法,如用戶名、電子郵件、電話號碼和流行的社交登入,如 Google 和 GitHub。無論你是個人還是任何規模的企業,Logto 都能為你的專案提供量身定制的客戶身分和存取管理 (CIAM) 解決方案。

介紹

我們的社群對於將 Logto 作為某些產品的身分提供者表示了興趣,例如 Outline 或 ChatGPT 插件。理論上,Logto 可以作為一個 OAuth 2.0 (OAuth) 或 OpenID Connect (OIDC) 提供者,只要你想整合的產品支援這些協議中的任一即可。

在本文中,我們提供一個使用 Logto 作為身分提供者進行 OAuth 或 OIDC 整合的一般教學。此外,我們還提供專門針對特定整合的教學,包括:

雖然某些細節可能因產品而異,但基本配置仍然是通用的。如果你有任何問題或需要進一步協助,我們鼓勵你加入我們的 Discord 伺服器進行進一步討論。

讓我們開始吧!

先決條件

在我們開始之前,請確保你擁有以下內容:

  • 一個正在運行的 Logto 實例或一個 Logto 雲端帳戶的存取權。
  • 一個支援第三方 OAuth 或 OIDC 身分提供者的產品(以下簡稱為「產品」)。

配置 Logto

如果你是自我管理的 Logto,請參考 Logto 的「快速開始」文檔來設置你的 Logto 實例。

如果你使用的是 Logto 雲端,請透過訪問 URL https://cloud.logto.io/ 打開 Logto 控制台,或者使用你為自我管理設置的端點。

創建應用程式

進入「應用程式」標籤,然後點擊「創建應用程式」。

Logto 控制台的「應用程式」標籤

在出現的模態框中,選擇「傳統網頁」,並提供一個應用程式名稱,例如「我的應用程式」。點擊「創建應用程式」。

顯示多種應用程式類型的「創建應用程式」模態框

你將被引導至 Logto 的教學頁面。點擊右上角的「跳過」以進入應用程式詳細資訊頁面。

一個應用程式詳細信息頁面

配置重定向 URI

在「重定向 URI」部分,輸入產品文檔中提供的值。通常,它是基於你的 ID 或產品中的端點配置而動態生成的。例如,在 ChatGPT 插件中,重定向 URI 為:

https://chat.openai.com/aip/[你的插件 ID]/oauth/callback

如果你的插件 ID 是 foo123,則值應為:

https://chat.openai.com/aip/foo123/oauth/callback

「重定向 URI」配置部分

或者,它可能被稱為「重定向 URL」、「回調 URI」或「回調 URL」。

可選:確保 Logto 發行刷新令牌

某些產品在向 Logto 發送令牌交換請求時可能需要一個 刷新令牌。對於 OAuth,只需確保包含 offline_access 範圍。根據 OIDC 協議,產品在初始授權請求的 Authorization Code 流程中必須添加 prompt=consent 搜索參數,否則將不會發行刷新令牌。

如果該產品使用 OAuth 或沒有添加 prompt=consent 參數或 offline_access 範圍,但需要刷新令牌(例如 ChatGPT 插件),請向下滾動至「高級設置」部分並啟用「始終發行刷新令牌」。

「始終發行刷新令牌」切換

就是這樣!

點擊底部的「保存變更」按鈕。保持此頁面打開,因為它將在進一步配置中很有用。

行動欄顯示「保存變更」按鈕

配置產品

按照產品文檔中描述的步驟進行 OAuth 或 OIDC 配置。

基本配置

大多數所需的配置值可以在 Logto 應用程式詳細資訊頁面中找到。有些名稱可能有別名,請參考下表:

Logto 名稱別名用途
App ID應用 ID,客戶端 ID
App Secret應用密鑰,客戶端密鑰
Redirect URI重定向 URL,回調 URI,回調 URL登入後重定向
Post Sign-out Redirect URIs登出後重定向 URL,登出後(重定向)URI,登出後(重定向)URL登出後重定向
Authorization Endpoint授權 URI,授權 URL,授權端點,授權 URL,授權 URI初始身份驗證
Token Endpoint令牌 URL,令牌 URI請求令牌授權
Userinfo Endpoint用戶信息 URL,用戶信息 URI,用戶信息端點,用戶信息 URL,用戶信息 URI獲取當前用戶信息

對於現代產品,可能只需要「發現端點」。在這種情況下,在授權端點中將 auth 替換為 .well-known/openid-configuration。例如,如果授權端點是 https://default.logto.app/oidc/auth,則發現端點將是 https://default.logto.app/oidc/.well-known/openid-configuration

可選:範圍配置

如果產品支援 OIDC 或需要發行 ID 令牌,請將 openid profile 添加到範圍配置中。請參考下表中的聲明範圍:

聲明類型必需範圍
sub字串openid
name字串profile
username字串profile
picture字串profile
email字串email
email_verified布林email
phone_number字串phone
phone_number_verified布林phone

檢查點:測試 Logto 整合

點擊產品中的登入按鈕,你將被導向 Logto 登入體驗。

Logto 登入體驗

如果一切順利配置,在 Logto 完成登入或註冊過程後,你將無錯誤地被重定向回到產品。

這就是我們關於使用 Logto 簡化 OAuth 和 OIDC 驗證的指南。如整合過程中遇到任何問題,請隨時透過電子郵件 [email protected] 聯繫我們或加入我們的 Discord 伺服器

進一步閱讀