Kendi kimlik sağlayıcınızı müşteri hesaplarına bağlama gereklilikleri

Müşteri hesaplarına kendi kimlik sağlayıcınızı bağlamadan önce, belgeleri inceleyerek veya destek almak üzere kimlik sağlayıcınızla iletişime geçerek sağlayıcınızın tüm teknik gereklilikleri karşıladığından emin olun.

Kimlik sağlayıcıları için gereklilikler

Kimlik sağlayıcısının, Shopify mağazanızla entegre olması için aşağıdaki gereklilikleri karşılaması gerekir:

Uç nokta gereklilikleri

Bağlandığınız kimlik sağlayıcısının belirli uç noktaları desteklemesi gerekir. Gerekli uç noktalar, bu uç noktaların özellikleri ve örnekleri hakkında daha fazla bilgi edinmek için aşağıdaki tabloyu inceleyin.

Gerekli kimlik sağlayıcısı uç noktaları
Gerekli uç noktaÖrnek alan adı ve yolTeknik özellikler
Yetkilendirmehttps://auth.provider.com/authorizeRFC 6749 Bölüm 4.1
Belirteçhttps://auth.provider.com/tokenRFC 6749 Bölüm 4.1.3 ve RFC 6749 Bölüm 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Bölüm 5
Bulunabilirlikhttps://auth.provider.com/.well-known/openid-configurationOpenID Bulunabilirlik 1.0

Uç nokta yanıt süresi gereklilikleri

Shopify'dan kimlik sağlayıcınızın belirteç, keşif ve kullanıcı bilgisi uç noktalarına gönderilen talepler 1 saniye içinde yanıtlanmalıdır. Bir uç noktanın yanıt vermesi 1 saniyeden uzun sürerse talep zaman aşımına uğrar ve giriş akışı başarısız olur. Zaman aşımlarını önlemek için kimlik sağlayıcınızın düşük gecikme süresine ve yeterli kapasiteye sahip bir ortamda barındırıldığından emin olun.

Mobil cihaz gereklilikleri

Mağazanızın bir mobil uygulaması varsa kimlik sağlayıcısının Yetkilendirme uç noktasının aşağıdaki parametreleri desteklemesi gerekir:

  • code_challenge: Belirteci talep eden istemcinin, talebi başlatan istemciyle aynı olduğunu doğrular.
  • code_challenge_method: Bu uç nokta, S256 olarak ayarlanmalıdır.

Kimlik belirteci gereklilikleri

Kimlik belirteci, bir kullanıcı başarıyla giriş yaptıktan sonra kimlik sağlayıcınız tarafından verilen bir kimlik doğrulama kanıtıdır. Kimlik belirteçleri için aşağıdaki beyan ve imzalayan gerekliliklerini inceleyin.

Gerekli beyanlar

Beyanlar, kimlik sağlayıcınızın bir kullanıcı hakkında paylaştığı ve kimlik doğrulama için kullanılan ifadelerdir. Müşteri hesaplarını kendi kimlik sağlayıcınıza bağlarken kimlik belirteci kurulumunda aşağıdaki beyanlar gereklidir:

  • sub: Kimlik sağlayıcınızda kullanıcı için benzersiz bir tanımlayıcı.
  • nonce: Yeniden oynatma saldırılarını önlemek için kimlik belirtecine eklenen benzersiz bir dize.
  • email: Müşteri hesabını sağlamak için kullanılan, kullanıcının benzersiz e-posta adresi. Entra ID ve Azure AD entegrasyonları için email yerine upn beyanı kullanılır ve bu beyanın, sipariş ve müşteriyle ilgili bildirimleri alabilecek geçerli bir e-posta adresini göstermesi gerekir.
  • email_verified: E-postanın kimlik sağlayıcısı tarafından doğrulanıp doğrulanmadığını gösteren bir boole değeri. email_verified değerinin true olması gerekir.
  • iss: Kimlik sağlayıcınızın düzenleyici tanımlayıcısı.
  • aud: Kimlik belirtecinin hedeflendiği, istemci kimliğiniz olarak da bilinen hedef kitle.

Belirteç imza gereklilikleri

İmzalayan gereklilikleri, kimlik sağlayıcınızın giriş yapma işlemi sırasında bir kullanıcının kimliğini doğrulamasına yardımcı olur. Kimlik sağlayıcınızın, kimlik belirteçlerini aşağıdaki desteklenen algoritmalardan birini kullanarak imzalaması gerekir:

  • RSA: RS256, RS384, RS512
  • Eliptik Eğri: ES256, ES384, ES512, ES256K
  • RSA-PSS: PS256, PS384, PS512
  • EdDSA: ED25519, EdDSA

HS256 (paylaşılan gizli anahtarlı HMAC) ile imzalanan belirteçler desteklenmez.

Oturum ve belirteç gereklilikleri

Shopify, müşteri oturumlarını 90 güne kadar sürdürmek için yenileme belirteçlerini kullanır. Yenileme belirteci yoksa, kimlik sağlayıcınızdan alınan erişim belirtecinin süresi dolduğunda (genellikle 1 saat) oturumlar sonlandırılır.

Uzun süreli müşteri oturumlarını desteklemek için kimlik sağlayıcınızın aşağıdaki gereklilikleri karşılaması gerekir:

  • Kimlik sağlayıcısı, RFC 6749 Bölüm 1.5 içinde tanımlandığı gibi yenileme belirteçlerinin verilmesini desteklemelidir.
  • Shopify kimlik sağlayıcısı yapılandırmanızdaki Ek kapsamlar alanına offline_access kapsamı dahil edilmelidir.
  • Kimlik sağlayıcısı, belirteç yanıtında yenileme belirteçlerini döndürecek şekilde yapılandırılmalıdır.