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.
Di halaman ini
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_basicadalah 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 yang diperlukan | Contoh domain dan jalur | Spesifikasi |
|---|---|---|
| Otorisasi | https://auth.provider.com/authorize | RFC 6749 Bagian 4.1 |
| Token | https://auth.provider.com/token | RFC 6749 Bagian 4.1.3 dan RFC 6749 Bagian 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 Bagian 5 |
| Discovery | https://auth.provider.com/.well-known/openid-configuration | OpenID 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 keS256.
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, klaimupndigunakan sebagai penggantiemail, 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 untukemail_verifiedharustrue.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: