繁體中文(香港)
  • oidc
  • prompt
  • auth
  • authentication flow
  • oidc prompt

OIDC Prompt 101:給開發者的簡單指南

OIDC prompt 是一個參數,可以用來控制驗證流程的行為。這篇博客文章解釋了 OIDC prompt 如何運作以及在不同場景下應該使用哪一個。

Charles
Charles
Developer

OIDC Prompt 101:給開發者的簡單指南

介紹

在我們探索 OIDC 協議的旅程中,我們已經探索了許多角落,但有一個領域始終值得關注,那就是 OIDC prompt。這個小小的參數在引導驗證流程中具有重要意義。

在這篇博客文章中,我們將分解 OIDC prompt,看看它的功能以及為什麼對開發者來說很重要。

理解 OIDC prompt

從本質上講,OIDC prompt 是開發者可以包含在驗證請求中的一個參數,用來指示 OpenID Connect 提供者如何處理驗證過程。它本質上是一個指令,指導提供者在驗證過程中如何與用戶進行互動。

Prompt 選項

  • Login:Login prompt 指示 OpenID Connect 提供者強制用戶登錄,即使他們已有現有的身份驗證會話。這在需要重新驗證以進行敏感操作或確保用戶身份自上次登錄以來未更改的情況中特別有用。
    sign-in page
    注意:在 Logto 中,如果只指定了 Login prompt,不會向客戶端發送刷新令牌。
  • Consent:當開發者包括 consent prompt 時,OpenID Connect 提供者會在向客戶端應用程序釋放用戶信息之前請求用戶同意。這有助於促進透明化並確保用戶對其數據擁有控制權。
    consent page
    在 Logto 中的典型同意屏幕
  • Select account:Select account prompt 允許用戶從其身份鏈接的多個賬戶中選擇。在用戶為單一身份關聯了不同的個人資料或身份的情況下,需要指定用哪一個來進行身份驗證時,這是很常見的。
  • None:None prompt 指示 OpenID Connect 提供者不要與用戶進行互動。如果用戶的會話當前未驗證或需要額外步驟,提供者會以錯誤回應,指出該請求不能在沒有用戶互動的情況下完成。

組合 prompts

你可以混合使用 prompts 來創建自訂的登錄體驗。例如,同時使用 Login 和 Consent prompts 意味著用戶必須登錄並同意後才能訪問某些內容。這是額外的安全性,加上對數據訪問的透明化說明。

開發者的影響

理解 OIDC prompt 是開發 OIDC 的開發者的關鍵。這有助於讓登錄變得流暢和安全。通過明智地使用 prompt 選項,開發者可以根據應用程序的需要調整登錄,同時保持用戶的隱私和安全性。

我們希望這份指南能為你帶來一些啟示。如果你有任何問題或想法,歡迎加入我們的 Discord 頻道與我們交流!