ข้อกำหนดสำหรับการเชื่อมต่อผู้ให้ข้อมูลระบุตัวตนของคุณเข้ากับบัญชีผู้ใช้ของลูกค้า
ก่อนที่คุณจะเชื่อมต่อผู้ให้ข้อมูลระบุตัวตนของคุณเข้ากับบัญชีผู้ใช้ของลูกค้า โปรดตรวจสอบให้แน่ใจว่าผู้ให้บริการของคุณมีคุณสมบัติตรงตามข้อกำหนดทางเทคนิคทั้งหมดโดยดูจากเอกสารข้อมูลหรือติดต่อผู้ให้ข้อมูลระบุตัวตนเพื่อขอความช่วยเหลือ
ในหน้านี้
ข้อกำหนดสำหรับผู้ให้ข้อมูลระบุตัวตน
หากต้องการผสานการทำงานกับร้านค้า Shopify ของคุณ ผู้ให้ข้อมูลระบุตัวตนจะต้องมีคุณสมบัติตรงตามข้อกำหนดดังต่อไปนี้
- ผู้ให้ข้อมูลระบุตัวตนรองรับโฟลว์รหัสการให้อนุญาต OAuth 2.0 โดยไม่รองรับโฟลว์แบบ Implicit และ Hybrid และใช้
client_secret_basicเป็นวิธีการยืนยันตัวตนสำหรับปลายทางโทเค็นตามค่าเริ่มต้น - ผู้ให้ข้อมูลระบุตัวตนรองรับ Proof Key for Code Exchange (PKCE) สำหรับไคลเอนต์สาธารณะ
- ผู้ให้ข้อมูลระบุตัวตนสอดคล้องกับมาตรฐาน OpenID Connect (OIDC) สำหรับการยืนยันตัวตน
- ผู้ให้ข้อมูลระบุตัวตนรองรับ OpenID Connect RP-Initiated Logout 1.0 สำหรับการออกจากระบบ โดยจะไม่รองรับการออกจากระบบแบบ Back-Channel และ Front-Channel
- ผู้ให้ข้อมูลระบุตัวตนรองรับการใช้อีเมลเป็นตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ และการยืนยันอีเมลเป็นส่วนหนึ่งของขั้นตอนการลงทะเบียน
ข้อกำหนดสำหรับปลายทาง
ผู้ให้ข้อมูลระบุตัวตนที่คุณเชื่อมต่อด้วยจะต้องรองรับปลายทางที่ระบุ ตรวจสอบตารางต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับปลายทางที่กำหนด ข้อมูลจำเพาะ และตัวอย่าง
| ปลายทางที่กำหนด | ตัวอย่างโดเมนและเส้นทาง | ข้อมูลจำเพาะ |
|---|---|---|
| การให้อนุญาต | https://auth.provider.com/authorize | RFC 6749 ส่วน 4.1 |
| โทเค็น | https://auth.provider.com/token | RFC 6749 ส่วน 4.1.3 และ RFC 6749 ส่วน 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 ส่วน 5 |
| การค้นพบ | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
ข้อกำหนดเกี่ยวกับเวลาตอบสนองของปลายทาง
คำขอจาก Shopify ไปยังปลายทางโทเค็น การค้นพบ และ userinfo ของผู้ให้ข้อมูลระบุตัวตนของคุณจะต้องตอบสนองภายใน 1 วินาที หากปลายทางใช้เวลาตอบสนองนานกว่า 1 วินาที คำขอจะหมดเวลาและโฟลว์การเข้าสู่ระบบจะล้มเหลว เพื่อหลีกเลี่ยงไม่ให้คำขอหมดเวลา โปรดตรวจสอบให้แน่ใจว่าผู้ให้ข้อมูลระบุตัวตนของคุณโฮสต์อยู่ในสภาพแวดล้อมที่มีเวลาแฝงต่ำและมีความจุเพียงพอ
ข้อกำหนดสำหรับมือถือ
หากร้านค้าของคุณมีแอปสำหรับมือถือ ปลายทางการให้อนุญาต (Authorization) ของผู้ให้ข้อมูลระบุตัวตนจะต้องรองรับพารามิเตอร์ต่อไปนี้
code_challenge: ตรวจสอบยืนยันว่าไคลเอนต์ที่ขอโทเค็นเป็นไคลเอนต์เดียวกับที่เริ่มต้นคำขอcode_challenge_method: ปลายทางนี้ต้องตั้งค่าเป็นS256
ข้อกำหนดสำหรับโทเค็น ID
โทเค็น ID คือหลักฐานการยืนยันตัวตนซึ่งออกโดยผู้ให้ข้อมูลระบุตัวตนของคุณหลังจากผู้ใช้เข้าสู่ระบบสำเร็จ ตรวจสอบข้อกำหนดเกี่ยวกับการอ้างสิทธิ์และผู้ลงนามต่อไปนี้สำหรับโทเค็น ID
การอ้างสิทธิ์ที่กำหนด
การอ้างสิทธิ์คือคำชี้แจงที่ผู้ให้ข้อมูลระบุตัวตนของคุณแชร์เกี่ยวกับผู้ใช้ ซึ่งจะนำมาใช้สำหรับการยืนยันตัวตน เมื่อเชื่อมต่อบัญชีผู้ใช้ของลูกค้าเข้ากับผู้ให้ข้อมูลระบุตัวตนของคุณ จะต้องระบุการอ้างสิทธิ์ต่อไปนี้ในการตั้งค่าโทเค็น ID
sub: ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ภายในผู้ให้ข้อมูลระบุตัวตนของคุณnonce: สตริงที่ไม่ซ้ำกันซึ่งรวมอยู่ในโทเค็น ID เพื่อป้องกันการโจมตีแบบ Replay Attackemail: ที่อยู่อีเมลที่ไม่ซ้ำกันของผู้ใช้ซึ่งนำมาใช้เพื่อจัดเตรียมบัญชีผู้ใช้ของลูกค้า สำหรับการผสานการทำงานกับ Entra ID และ Azure AD จะใช้การอ้างสิทธิ์upnแทนemailและจะต้องชี้ไปยังที่อยู่อีเมลที่ถูกต้องซึ่งสามารถรับการสื่อสารเกี่ยวกับคำสั่งซื้อและลูกค้าได้email_verified: บูลีนที่ระบุว่าอีเมลดังกล่าวได้รับการยืนยันโดยผู้ให้ข้อมูลระบุตัวตนแล้วหรือไม่ ค่าสำหรับemail_verifiedจะต้องเป็นtrueiss: ตัวระบุผู้ออกสำหรับผู้ให้ข้อมูลระบุตัวตนของคุณaud: กลุ่มเป้าหมายที่โทเค็น ID กำหนดไว้ให้ หรือที่เรียกว่า ID ไคลเอนต์ของคุณ
ข้อกำหนดเกี่ยวกับลายเซ็นของโทเค็น
ข้อกำหนดเกี่ยวกับผู้ลงนามช่วยให้ผู้ให้ข้อมูลระบุตัวตนสามารถยืนยันข้อมูลระบุตัวตนของผู้ใช้ได้ในระหว่างขั้นตอนการเข้าสู่ระบบ ผู้ให้ข้อมูลระบุตัวตนของคุณจะต้องลงนามโทเค็น ID โดยใช้อัลกอริทึมที่รองรับดังต่อไปนี้
- RSA: RS256, RS384, RS512
- Elliptic Curve: ES256, ES384, ES512, ES256K
- RSA-PSS: PS256, PS384, PS512
- EdDSA: ED25519, EdDSA
ไม่รองรับโทเค็นที่ลงนามด้วย HS256 (HMAC with shared secret)
ข้อกำหนดเกี่ยวกับเซสชันและโทเค็น
Shopify ใช้โทเค็นการรีเฟรชเพื่อคงเซสชันของลูกค้าไว้สูงสุดถึง 90 วัน หากไม่มีโทเค็นการรีเฟรช เซสชันจะสิ้นสุดลงเมื่อโทเค็นการเข้าถึงจากผู้ให้ข้อมูลระบุตัวตนของคุณหมดอายุ ซึ่งโดยปกติแล้วจะมีอายุ 1 ชั่วโมง
เพื่อรองรับเซสชันของลูกค้าที่มีอายุการใช้งานยาวนาน ผู้ให้ข้อมูลระบุตัวตนของคุณจะต้องมีคุณสมบัติตรงตามข้อกำหนดดังต่อไปนี้
- ผู้ให้ข้อมูลระบุตัวตนต้องรองรับการออกโทเค็นการรีเฟรชตามที่กำหนดไว้ใน RFC 6749 ส่วน 1.5
- ต้องกำหนดค่าผู้ให้ข้อมูลระบุตัวตนให้ส่งคืนโทเค็นการรีเฟรชในการตอบสนองของโทเค็น
แหล่งข้อมูลเพิ่มเติม
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ให้ข้อมูลระบุตัวตนที่สอดคล้องกับ OpenID Connect (OIDC) และข้อกำหนด โปรดตรวจสอบแหล่งข้อมูลภายนอกดังต่อไปนี้