ข้อกำหนดในการเชื่อมต่อผู้ให้ข้อมูลระบุตัวตนของคุณเองกับบัญชีผู้ใช้ของลูกค้า

ก่อนที่คุณจะเชื่อมต่อผู้ให้ข้อมูลระบุตัวตนของคุณเองกับบัญชีผู้ใช้ของลูกค้า โปรดตรวจสอบให้แน่ใจว่าผู้ให้บริการของคุณมีคุณสมบัติตรงตามข้อกำหนดทางเทคนิคทั้งหมดโดยการตรวจสอบเอกสารประกอบหรือติดต่อผู้ให้ข้อมูลระบุตัวตนของคุณเพื่อขอความช่วยเหลือ

ข้อกำหนดสำหรับผู้ให้ข้อมูลระบุตัวตน

หากต้องการผสานการทำงานกับร้านค้า 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/authorizeRFC 6749 Section 4.1
โทเค็นhttps://auth.provider.com/tokenRFC 6749 Section 4.1.3 และ RFC 6749 Section 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 Section 5
การค้นพบhttps://auth.provider.com/.well-known/openid-configurationOpenID 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 ต้องเป็น true
  • iss: ตัวระบุผู้ออกสำหรับผู้ให้ข้อมูลระบุตัวตนของคุณ
  • 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) และข้อกำหนดต่างๆ โปรดตรวจสอบแหล่งข้อมูลภายนอกต่อไปนี้