將自有身分識別提供者連接至顧客帳號的必要條件

在您連接自有身分識別提供者至顧客帳號之前,請先檢閱文件,或聯絡您的身分識別提供者以取得支援,確認該提供者符合所有技術必要條件。

身分識別提供者的必要條件

若要與您的 Shopify 商店整合,身分識別提供者必須符合以下條件:

  • 身分識別提供者必須支援 OAuth 2.0 授權碼流程。不支援隱式與混合流程。權杖端點的預設驗證方式為 client_secret_basic
  • 身分識別提供者必須支援公開用戶端的 Proof Key for Code Exchange (PKCE)
  • 身分識別提供者必須符合 OpenID Connect (OIDC) 驗證標準。
  • 身分識別提供者在登出時必須支援 OpenID Connect RP-Initiated Logout 1.0。不支援 Back-Channel 與 Front-Channel 登出。
  • 身分識別提供者必須支援以電子郵件作為使用者的唯一識別碼,且電子郵件驗證必須是註冊流程的一部分。

端點必要條件

您所連接的身分識別提供者必須支援特定端點。請參閱下表,瞭解所需端點、其規格與範例。

必要的身分識別提供者端點
必要端點範例網域與路徑規格
授權https://auth.provider.com/authorizeRFC 6749 第 4.1 節
權杖https://auth.provider.com/tokenRFC 6749 第 4.1.3 節RFC 6749 第 6 節
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 第 5 節
探索https://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

端點回應時間要求

Shopify 對您的身分識別提供者的權杖、探索和使用者資訊端點發出的要求,必須在 1 秒內獲得回應。如果端點回應的時間超過 1 秒,要求將會逾時,且登入流程將會失敗。為避免逾時,請確定您的身分識別提供者託管於低延遲且容量充足的環境中。

行動裝置必要條件

如果您的商店有 行動應用程式,則身分識別提供者的授權端點必須支援下列參數:

  • code_challenge:用來驗證要求權杖的用戶端與發起該要求的用戶端為同一個。
  • code_challenge_method:此端點必須設為 S256

ID 權杖必要條件

使用者成功登入後,您的身分識別提供者會簽發 ID 權杖,做為驗證憑證。請參閱下列關於 ID 權杖的宣告與簽章要求。

必要宣告

宣告是身分識別提供者針對使用者所提供、用於驗證的敘述。當您將顧客帳號連接至自有身分識別提供者時,ID 權杖設定中必須包含下列宣告:

  • sub:使用者在您的身分識別提供者中的唯一識別碼。
  • nonce:包含於 ID 權杖中的唯一字串,用於防止重放攻擊。
  • email:用於建立顧客帳號的使用者唯一電子郵件地址。若為 Entra ID 與 Azure AD 的整合,會以 upn 宣告取代 email,且必須指向可接收訂單與顧客相關通知的有效電子郵件地址。
  • email_verified:布林值,表示該電子郵件是否已由身分識別提供者驗證。email_verified 的值必須為 true
  • iss:您的身分識別提供者的簽發者識別碼。
  • aud:ID 權杖的目標受眾,也就是您的用戶端 ID。

權杖簽章必要條件

簽章要求可協助您的身分識別提供者在登入流程中驗證使用者身分。您的身分識別提供者必須使用下列支援的演算法之一簽署 ID 權杖:

  • RSA:RS256、RS384、RS512
  • 橢圓曲線:ES256、ES384、ES512、ES256K
  • RSA-PSS:PS256、PS384、PS512
  • EdDSA:ED25519、EdDSA

不支援使用 HS256 (以共用祕密的 HMAC) 簽署的權杖。

工作階段和權杖要求

Shopify 使用重新整理權杖來維持長達 90 天的顧客工作階段。若沒有重新整理權杖,當您身分識別提供者的存取憑證過期 (通常為 1 小時) 時,工作階段就會結束。

若要支援長效顧客工作階段,您的身分識別提供者必須符合以下要求:

  • 身分識別提供者必須依照 RFC 6749 第 1.5 節中的定義,支援核發重新整理權杖。
  • 身分識別提供者必須設定為會在權杖回應中傳回重新整理權杖。