ข้อกำหนดในการเชื่อมต่อผู้ให้ข้อมูลระบุตัวตนของคุณเองกับบัญชีผู้ใช้ของลูกค้า
ก่อนที่คุณจะเชื่อมต่อผู้ให้ข้อมูลระบุตัวตนของคุณเองกับบัญชีผู้ใช้ของลูกค้า โปรดตรวจสอบให้แน่ใจว่าผู้ให้บริการของคุณมีคุณสมบัติตรงตามข้อกำหนดทางเทคนิคทั้งหมดโดยการตรวจสอบเอกสารประกอบหรือติดต่อผู้ให้ข้อมูลระบุตัวตนของคุณเพื่อขอความช่วยเหลือ
ในหน้านี้
ข้อกำหนดสำหรับผู้ให้ข้อมูลระบุตัวตน
หากต้องการผสานการทำงานกับร้านค้า Shopify ของคุณ ผู้ให้ข้อมูลระบุตัวตนจะต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- ผู้ให้ข้อมูลระบุตัวตนต้องรองรับขั้นตอนการให้รหัสการให้อนุญาต OAuth 2.0 ทั้งนี้ จะไม่รองรับขั้นตอนแบบโดยนัยและแบบไฮบริด
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 Section 4.1 |
| โทเค็น | https://auth.provider.com/token | RFC 6749 Section 4.1.3 และ RFC 6749 Section 6 |
| JWKS | https://auth.provider.com/.well-known/jwks.json | RFC 7517 Section 5 |
| การค้นพบ | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
ข้อกำหนดเวลาตอบสนองของปลายทาง
ปลายทางโทเค็น, discovery และ userinfo ของผู้ให้ข้อมูลระบุตัวตนของคุณต้องตอบสนองต่อคำขอจาก Shopify ภายใน 1 วินาที หากปลายทางใช้เวลาตอบสนองนานกว่า 1 วินาที คำขอจะหมดเวลาและขั้นตอนการเข้าสู่ระบบจะล้มเหลว เพื่อหลีกเลี่ยงการหมดเวลา โปรดตรวจสอบให้แน่ใจว่าผู้ให้ข้อมูลระบุตัวตนของคุณโฮสต์อยู่ในสภาพแวดล้อมที่มีความหน่วงต่ำและมีความสามารถในการรองรับเพียงพอ
ข้อกำหนดสำหรับมือถือ
หากร้านค้าของคุณมีแอปมือถือ ปลายทางการให้อนุญาตของผู้ให้ข้อมูลระบุตัวตนจะต้องรองรับพารามิเตอร์ต่อไปนี้
code_challenge: ใช้ยืนยันว่าไคลเอนต์ที่ขอโทเค็นเป็นไคลเอนต์เดียวกับที่เริ่มต้นคำขอcode_challenge_method: ต้องตั้งค่าปลายทางนี้เป็นS256
ข้อกำหนดสำหรับโทเค็น ID
โทเค็น ID คือหลักฐานการยืนยันตัวตนซึ่งออกโดยผู้ให้ข้อมูลระบุตัวตนของคุณหลังจากที่ผู้ใช้ลงชื่อเข้าใช้สำเร็จ ตรวจสอบข้อกำหนดด้านการอ้างสิทธิ์และผู้ลงนามต่อไปนี้สำหรับโทเค็น ID
การอ้างสิทธิ์ที่จำเป็น
การอ้างสิทธิ์คือข้อความที่ผู้ให้ข้อมูลระบุตัวตนของคุณแชร์เกี่ยวกับผู้ใช้ซึ่งใช้สำหรับการยืนยันตัวตน เมื่อเชื่อมต่อบัญชีผู้ใช้ของลูกค้ากับผู้ให้ข้อมูลระบุตัวตนของคุณเอง จำเป็นต้องมีการอ้างสิทธิ์ต่อไปนี้ในการตั้งค่าโทเค็น ID
sub: ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ภายในผู้ให้ข้อมูลระบุตัวตนของคุณnonce: สตริงที่ไม่ซ้ำกันที่รวมอยู่ในโทเค็น ID เพื่อป้องกันการโจมตีซ้ำemail: ที่อยู่อีเมลที่ไม่ซ้ำกันของผู้ใช้ซึ่งใช้เพื่อจัดสรรบัญชีผู้ใช้ของลูกค้า สำหรับการผสานการทำงานกับ 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 พร้อมข้อมูลลับที่แชร์)
ข้อกำหนดเกี่ยวกับเซสชันและโทเค็น
Shopify ใช้โทเค็นการรีเฟรชเพื่อรักษาเซสชันลูกค้าไว้สูงสุด 90 วัน หากไม่มีโทเค็นการรีเฟรช เซสชันจะสิ้นสุดลงเมื่อโทเค็นการเข้าถึงจากผู้ให้ข้อมูลระบุตัวตนของคุณหมดอายุ ซึ่งโดยปกติคือ 1 ชั่วโมง
เพื่อให้รองรับเซสชันลูกค้าที่มีระยะเวลายาวนาน ผู้ให้ข้อมูลระบุตัวตนของคุณต้องเป็นไปตามข้อกำหนดต่อไปนี้
- ผู้ให้ข้อมูลระบุตัวตนต้องรองรับการออกโทเค็นการรีเฟรชตามที่ระบุไว้ใน RFC 6749 ส่วนที่ 1.5
- ผู้ให้ข้อมูลระบุตัวตนต้องได้รับการกำหนดค่าให้ส่งคืนโทเค็นการรีเฟรชในการตอบกลับโทเค็น
แหล่งข้อมูลเพิ่มเติม
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ให้ข้อมูลระบุตัวตนที่สอดคล้องกับ OpenID Connect (OIDC) และข้อกำหนดต่างๆ โปรดตรวจสอบแหล่งข้อมูลภายนอกต่อไปนี้