Persyaratan untuk menghubungkan penyedia identitas Anda sendiri ke akun pelanggan

Sebelum Anda menghubungkan penyedia identitas Anda sendiri ke akun pelanggan, pastikan penyedia Anda memenuhi semua persyaratan teknis dengan meninjau dokumentasi atau menghubungi penyedia identitas Anda untuk mendapatkan dukungan.

Persyaratan untuk penyedia identitas

Untuk berintegrasi dengan toko Shopify Anda, penyedia identitas harus memenuhi persyaratan berikut:

  • Penyedia identitas mendukung alur kode otorisasi OAuth 2.0. Alur implisit dan hibrida tidak didukung. client_secret_basic adalah metode autentikasi titik akhir token default.
  • Penyedia identitas mendukung Proof Key for Code Exchange (PKCE) untuk klien publik.
  • Penyedia identitas mematuhi standar OpenID Connect (OIDC) untuk autentikasi.
  • Penyedia identitas mendukung OpenID Connect RP-Initiated Logout 1.0 untuk logout. Logout Back-Channel dan Front-Channel tidak didukung.
  • Penyedia identitas mendukung email sebagai pengidentifikasi unik untuk pengguna, dan verifikasi email adalah bagian dari proses pendaftaran.

Persyaratan titik akhir

Penyedia identitas yang Anda hubungkan harus mendukung titik akhir tertentu. Tinjau tabel berikut untuk mempelajari selengkapnya tentang titik akhir yang diwajibkan, spesifikasinya, dan contohnya.

Titik akhir penyedia identitas yang diwajibkan
Titik akhir yang diwajibkanContoh domain dan jalurSpesifikasi
Otorisasihttps://auth.provider.com/authorizeRFC 6749 Bagian 4.1
Tokenhttps://auth.provider.com/tokenRFC 6749 Bagian 4.1.3 dan RFC 6749 Bagian 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Bagian 5
Discoveryhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Persyaratan waktu respons titik akhir

Permintaan dari Shopify ke titik akhir token, discovery, dan userinfo penyedia identitas Anda harus merespons dalam waktu 1 detik. Jika titik akhir membutuhkan waktu lebih dari 1 detik untuk merespons, waktu permintaan akan habis dan alur login akan gagal. Untuk menghindari waktu habis, pastikan penyedia identitas Anda di-host di lingkungan dengan latensi rendah dan kapasitas yang memadai.

Persyaratan perangkat seluler

Jika toko Anda memiliki aplikasi seluler, titik akhir Otorisasi penyedia identitas harus mendukung parameter berikut:

  • code_challenge: Memverifikasi bahwa klien yang meminta token adalah klien yang sama dengan yang memulai permintaan.
  • code_challenge_method: Titik akhir ini harus diatur ke S256.

Persyaratan token ID

Token ID adalah bukti autentikasi, yang diterbitkan oleh penyedia identitas Anda setelah pengguna berhasil login. Tinjau persyaratan klaim dan penandatanganan berikut untuk token ID.

Klaim yang diwajibkan

Klaim adalah pernyataan yang dibagikan penyedia identitas Anda tentang seorang pengguna, yang digunakan untuk autentikasi. Saat menghubungkan akun pelanggan ke penyedia identitas Anda, klaim berikut diwajibkan dalam pengaturan token ID:

  • sub: Pengidentifikasi unik untuk pengguna di dalam penyedia identitas Anda.
  • nonce: String unik yang disertakan dalam token ID untuk mencegah serangan replay.
  • email: Alamat email unik pengguna yang digunakan untuk menyediakan akun pelanggan. Untuk integrasi Entra ID dan Azure AD, klaim upn digunakan sebagai pengganti email, dan harus mengarah ke alamat email valid yang dapat menerima komunikasi terkait pesanan dan pelanggan.
  • email_verified: Boolean yang menunjukkan apakah email telah diverifikasi oleh penyedia identitas. Nilai untuk email_verified harus true.
  • iss: Pengidentifikasi penerbit untuk penyedia identitas Anda.
  • aud: Audiens yang dituju oleh token ID, juga dikenal sebagai ID klien Anda.

Persyaratan tanda tangan token

Persyaratan penandatanganan membantu penyedia identitas Anda memverifikasi identitas pengguna selama proses login. Penyedia identitas Anda harus menandatangani token ID menggunakan salah satu algoritme yang didukung berikut:

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

Token yang ditandatangani dengan HS256 (HMAC dengan rahasia bersama) tidak didukung.

Persyaratan sesi dan token

Shopify menggunakan token penyegaran untuk mempertahankan sesi pelanggan hingga 90 hari. Tanpa token penyegaran, sesi akan berakhir saat akses token dari penyedia identitas Anda kedaluwarsa, yang biasanya 1 jam.

Untuk mendukung sesi pelanggan berdurasi panjang, penyedia identitas Anda harus memenuhi persyaratan berikut:

  • Penyedia identitas harus mendukung penerbitan token penyegaran seperti yang didefinisikan dalam RFC 6749 Bagian 1.5.
  • Penyedia identitas harus dikonfigurasi untuk mengembalikan token penyegaran dalam respons token.

Sumber daya tambahan

Untuk mempelajari selengkapnya tentang penyedia identitas yang mematuhi OpenID Connect (OIDC) beserta persyaratannya, tinjau sumber daya pihak ketiga berikut: