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

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

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

หากต้องการผสานการทำงานกับร้านค้า 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/authorizeRFC 6749 ส่วน 4.1
โทเค็นhttps://auth.provider.com/tokenRFC 6749 ส่วน 4.1.3 และ RFC 6749 ส่วน 6
JWKShttps://auth.provider.com/.well-known/jwks.jsonRFC 7517 ส่วน 5
การค้นพบhttps://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

ข้อกำหนดเกี่ยวกับเวลาตอบสนองของปลายทาง

คำขอจาก Shopify ไปยังปลายทางโทเค็น การค้นพบ และ userinfo ของผู้ให้ข้อมูลระบุตัวตนของคุณจะต้องตอบสนองภายใน 1 วินาที หากปลายทางใช้เวลาตอบสนองนานกว่า 1 วินาที คำขอจะหมดเวลาและโฟลว์การเข้าสู่ระบบจะล้มเหลว เพื่อหลีกเลี่ยงไม่ให้คำขอหมดเวลา โปรดตรวจสอบให้แน่ใจว่าผู้ให้ข้อมูลระบุตัวตนของคุณโฮสต์อยู่ในสภาพแวดล้อมที่มีเวลาแฝงต่ำและมีความจุเพียงพอ

ข้อกำหนดสำหรับมือถือ

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

  • code_challenge: ตรวจสอบยืนยันว่าไคลเอนต์ที่ขอโทเค็นเป็นไคลเอนต์เดียวกับที่เริ่มต้นคำขอ
  • code_challenge_method: ปลายทางนี้ต้องตั้งค่าเป็น S256

ข้อกำหนดสำหรับโทเค็น ID

โทเค็น ID คือหลักฐานการยืนยันตัวตนซึ่งออกโดยผู้ให้ข้อมูลระบุตัวตนของคุณหลังจากผู้ใช้เข้าสู่ระบบสำเร็จ ตรวจสอบข้อกำหนดเกี่ยวกับการอ้างสิทธิ์และผู้ลงนามต่อไปนี้สำหรับโทเค็น ID

การอ้างสิทธิ์ที่กำหนด

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

  • sub: ตัวระบุที่ไม่ซ้ำกันสำหรับผู้ใช้ภายในผู้ให้ข้อมูลระบุตัวตนของคุณ
  • nonce: สตริงที่ไม่ซ้ำกันซึ่งรวมอยู่ในโทเค็น ID เพื่อป้องกันการโจมตีแบบ Replay Attack
  • 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 with shared secret)

ข้อกำหนดเกี่ยวกับเซสชันและโทเค็น

Shopify ใช้โทเค็นการรีเฟรชเพื่อคงเซสชันของลูกค้าไว้สูงสุดถึง 90 วัน หากไม่มีโทเค็นการรีเฟรช เซสชันจะสิ้นสุดลงเมื่อโทเค็นการเข้าถึงจากผู้ให้ข้อมูลระบุตัวตนของคุณหมดอายุ ซึ่งโดยปกติแล้วจะมีอายุ 1 ชั่วโมง

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

  • ผู้ให้ข้อมูลระบุตัวตนต้องรองรับการออกโทเค็นการรีเฟรชตามที่กำหนดไว้ใน RFC 6749 ส่วน 1.5
  • ต้องกำหนดค่าผู้ให้ข้อมูลระบุตัวตนให้ส่งคืนโทเค็นการรีเฟรชในการตอบสนองของโทเค็น

แหล่งข้อมูลเพิ่มเติม

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับผู้ให้ข้อมูลระบุตัวตนที่สอดคล้องกับ OpenID Connect (OIDC) และข้อกำหนด โปรดตรวจสอบแหล่งข้อมูลภายนอกดังต่อไปนี้