דרישות לחיבור ספק זהות משלך לחשבונות לקוח
לפני שמחברים ספק זהות משלך לחשבונות לקוח, יש לוודא שהספק עומד בכל הדרישות הטכניות על ידי עיון בתיעוד או פנייה אל ספק הזהות לקבלת תמיכה.
בדף זה
דרישות עבור ספקי זהות
כדי לבצע אינטגרציה עם חנות Shopify שלך, ספק הזהות חייב לעמוד בדרישות הבאות:
- ספק הזהות תומך ב-תהליך קוד הרשאה של OAuth 2.0. תהליכי Implicit ו-Hybrid אינם נתמכים.
client_secret_basicהיא שיטת האימות המשמשת כברירת מחדל עבור נקודת הקצה של האסימון. - ספק הזהות תומך ב-מפתח הוכחה להחלפת קוד (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) אצל ספק הזהות שלך חייבות להיענות בתוך שנייה אחת. אם לנקודת קצה לוקח יותר משנייה להגיב, הבקשה תחרוג ממסגרת הזמן ותהליך ההתחברות ייכשל. כדי למנוע חריגות זמן, יש לוודא שספק הזהות שלך מאוחסן בסביבה עם השהיה (Latency) נמוכה וקיבולת מספקת.
דרישות למכשירים ניידים
אם לחנות שלך יש אפליקציה לנייד, על נקודת הקצה של ההרשאה (Authorization) של ספק הזהות לתמוך בפרמטרים הבאים:
code_challenge: מוודא שהלקוח שמבקש את האסימון הוא אותו הלקוח שיזם את הבקשה.code_challenge_method: נקודת קצה זו חייבת להיות מוגדרת ל-S256.
דרישות לאסימון מזהה
אסימון מזהה הוא הוכחת אימות, שמונפקת על ידי ספק הזהות לאחר שמשתמש מתחבר בהצלחה. כדאי לעיין בדרישות הבאות להצהרות (claims) ולחתימות עבור אסימונים מזהים.
הצהרות (claims) נדרשות
הצהרות (Claims) הן קביעות שספק הזהות שלך משתף על משתמש, ומשמשות לאימות. בעת חיבור חשבונות לקוחות לספק הזהות שלך, ההצהרות הבאות נדרשות בהגדרת האסימון המזהה:
sub: מזהה ייחודי עבור המשתמש אצל ספק הזהות שלך.nonce: מחרוזת ייחודית הכלולה באסימון המזהה כדי למנוע מתקפות הפעלה חוזרת (replay).email: כתובת הדוא"ל הייחודית של המשתמש המשמשת להקצאת חשבון הלקוח. עבור אינטגרציות עם Entra ID ו-Azure AD, נעשה שימוש בהצהרהupnבמקום ב-email, והיא חייבת להפנות לכתובת דוא"ל חוקית שיכולה לקבל תקשורת הקשורה להזמנות וללקוחות.email_verified: ערך בוליאני המציין אם הדוא"ל אומת על ידי ספק הזהות. הערך שלemail_verifiedחייב להיותtrue.iss: המזהה של המנפיק עבור ספק הזהות שלך.aud: קהל היעד שאליו מיועד האסימון המזהה, המוכר גם בתור מזהה הלקוח שלך.
דרישות לחתימה על אסימון
דרישות חתימה עוזרות לספק הזהות לאמת את זהות המשתמש במהלך תהליך הכניסה. על ספק הזהות לחתום על אסימונים מזהים באמצעות אחד מהאלגוריתמים הנתמכים הבאים:
- RSA: RS256, RS384, RS512
- עקומה אליפטית (Elliptic Curve): ES256, ES384, ES512, ES256K
- RSA-PSS: PS256, PS384, PS512
- EdDSA: ED25519, EdDSA
אסימונים שנחתמו באמצעות HS256 (HMAC עם סוד משותף) אינם נתמכים.
דרישות עבור סשן ואסימון
Shopify משתמשת באסימוני רענון כדי לשמור על סשנים של לקוחות למשך עד 90 ימים. ללא אסימון רענון, הסשנים יסתיימו כאשר פג תוקפו של אסימון הגישה של ספק הזהות, שבדרך כלל תקף לשעה אחת.
כדי לתמוך בסשנים ארוכים של לקוחות, ספק הזהות שלך חייב לעמוד בדרישות הבאות:
- על ספק הזהות לתמוך בהנפקת אסימוני רענון כפי שמוגדר ב-RFC 6749 סעיף 1.5.
- ספק הזהות חייב להיות מוגדר כך שיחזיר אסימוני רענון בתגובת האסימון.
משאבים נוספים
כדי לקבל מידע נוסף על ספקי זהות תואמי OpenID Connect (OIDC) ועל הדרישות השונות, כדאי לעיין במשאבים הבאים של גורמי צד שלישי: