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 sesuai dengan 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 merupakan bagian dari proses pendaftaran.

Persyaratan titik akhir

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

Titik akhir penyedia identitas yang diperlukan
Titik akhir yang diperlukanContoh 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 direspons dalam waktu 1 detik. Jika titik akhir membutuhkan waktu lebih dari 1 detik untuk merespons, permintaan akan mengalami timeout dan alur login akan gagal. Untuk menghindari timeout, pastikan penyedia identitas Anda di-host di lingkungan dengan latensi rendah dan kapasitas yang memadai.

Persyaratan seluler

Jika toko Anda memiliki aplikasi seluler, maka 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 dikeluarkan oleh penyedia identitas Anda setelah pengguna berhasil masuk. Tinjau persyaratan klaim dan penanda tangan berikut untuk token ID.

Klaim yang diperlukan

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

  • sub: Pengidentifikasi unik untuk pengguna 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 tujuan token ID, yang juga dikenal sebagai ID klien Anda.

Persyaratan tanda tangan token

Persyaratan penanda tangan membantu penyedia identitas Anda memverifikasi identitas pengguna selama proses masuk. 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 token akses dari penyedia identitas Anda kedaluwarsa, yang biasanya 1 jam.

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

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

Sumber daya tambahan

Untuk mempelajari lebih lanjut tentang penyedia identitas dan persyaratan yang sesuai dengan OpenID Connect (OIDC), tinjau sumber daya pihak ketiga berikut: