將您自己的身分識別提供者連接至顧客帳號的要求

將您自己的身分識別提供者連接至顧客帳號前,請務必檢閱文件或聯絡您的身分識別提供者尋求支援,以確保您的提供者符合所有技術要求。

身分識別提供者的需求

若要與您的 Shopify 商店整合,身分識別提供者必須符合下列需求:

端點需求

您連結的身分識別提供者必須支援特定的端點。請檢閱下表,深入瞭解必要端點及其規格和範例。

必要身分識別提供者端點
必要端點範例網域和路徑規格
授權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

端點回應時間需求

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

行動裝置需求

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

  • code_challenge:驗證要求權杖的用戶端與起始要求的用戶端是否相同。
  • code_challenge_method:此端點必須設為 S256

ID 權杖需求

ID 權杖為驗證的證明,在使用者成功登入後由您的身分識別提供者核發。請檢閱下列有關 ID 權杖的宣告和簽章需求。

必要宣告

宣告是身分識別提供者所分享關於使用者的陳述式,用於進行驗證。將顧客帳號連結至您自己的身分識別提供者時,在 ID 權杖設定中需要包含下列宣告:

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

權杖簽章需求

簽章需求有助於身分識別提供者在登入過程中驗證使用者身分。您的身分識別提供者必須使用下列其中一種支援的演算法來簽署 ID 權杖:

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

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

工作階段與權杖需求

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

為支援長期顧客工作階段,您的身分識別提供者必須符合下列需求:

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

其他資源

若要深入瞭解符合 OpenID Connect (OIDC) 標準的身分識別提供者及相關需求,請檢閱下列第三方資源: