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

Kendi kimlik sağlayıcınızı müşteri hesaplarına bağlamadan önce, ilgili belgeleri inceleyerek veya destek için 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

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

  • Kimlik sağlayıcısı OAuth 2.0 yetkilendirme kodu akışını destekler. Örtülü ve hibrit akışlar desteklenmez. client_secret_basic, varsayılan belirteç uç noktası kimlik doğrulama yöntemidir.
  • Kimlik sağlayıcısı, genel istemciler için Kod Değişimi için Kanıt Anahtarı'nı (PKCE) destekler.
  • Kimlik sağlayıcısı, kimlik doğrulama için OpenID Connect (OIDC) standardıyla uyumludur.
  • Kimlik sağlayıcısı, oturum kapatmak için OpenID Connect RP-Initiated Logout 1.0'ı destekler. Back-Channel ve Front-Channel oturum kapatma yöntemleri desteklenmez.
  • Kimlik sağlayıcısı, kullanıcılar için benzersiz tanımlayıcı olarak e-postayı destekler ve e-posta doğrulaması kayıt sürecinin bir parçasıdır.

Uç nokta gereklilikleri

Bağlandığınız kimlik sağlayıcısı belirli uç noktaları desteklemelidir. Gerekli uç noktalar, bu 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 yolÖ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
Keşifhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Uç nokta yanıt süresi gereklilikleri

Shopify'dan kimlik sağlayıcınızın belirteç, keşif ve userinfo 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 gecikmeli ve yeterli kapasiteye sahip bir ortamda barındırıldığından emin olun.

Mobil gereklilikleri

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

  • 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 (claim) ve imza gerekliliklerini inceleyin.

Gerekli beyanlar

Beyanlar (claims), 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ızdaki kullanıcı için benzersiz bir tanımlayıcı.
  • nonce: Tekrar oynatma (replay) saldırılarını önlemek için kimlik belirtecine dahil edilen benzersiz bir dize.
  • email: Müşteri hesabını oluşturmak için kullanılan kullanıcının benzersiz e-posta adresidir. Entra ID ve Azure AD entegrasyonlarında email yerine upn beyanı kullanılır. Bu beyan, sipariş ve müşteriyle ilgili iletişimleri alabilecek geçerli bir e-posta adresini işaret etmelidir.
  • email_verified: E-postanın kimlik sağlayıcısı tarafından doğrulanıp doğrulanmadığını gösteren bir mantıksal veri türüdür (boolean). email_verified değeri true olmalıdır.
  • iss: Kimlik sağlayıcınız için düzenleyici tanımlayıcısı.
  • aud: İstemci kimliğiniz olarak da bilinen, kimlik belirtecinin hedeflendiği kitle (audience).

Belirteç imza gereklilikleri

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

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

HS256 (Paylaşılan sır ile HMAC) kullanılarak 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 olmadan, kimlik sağlayıcınızdan alınan erişim belirtecinin süresi dolduğunda (genellikle 1 saat) oturumlar sonlanı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'te tanımlandığı şekilde yenileme belirteçleri oluşturmayı desteklemelidir.
  • Kimlik sağlayıcısı, belirteç yanıtında yenileme belirteçleri döndürecek şekilde yapılandırılmalıdır.

Ek kaynaklar

OpenID Connect (OIDC) uyumlu kimlik sağlayıcıları ve gereklilikleri hakkında daha fazla bilgi edinmek için aşağıdaki üçüncü taraf kaynaklarını inceleyin: