Απαιτήσεις για τη σύνδεση του δικού σας παρόχου ταυτότητας με τους λογαριασμούς πελατών

Πριν συνδέσετε τον δικό σας πάροχο ταυτότητας με τους λογαριασμούς πελατών, βεβαιωθείτε ότι ο πάροχός σας πληροί όλες τις τεχνικές απαιτήσεις, ελέγχοντας την τεκμηρίωση ή επικοινωνώντας με τον πάροχο ταυτότητάς σας για υποστήριξη.

Απαιτήσεις για παρόχους ταυτότητας

Για την ενσωμάτωση με το κατάστημά σας Shopify, ο πάροχος ταυτότητας πρέπει να πληροί τις ακόλουθες απαιτήσεις:

  • Ο πάροχος ταυτότητας υποστηρίζει τη ροή κωδικού εξουσιοδότησης OAuth 2.0. Οι έμμεσες και υβριδικές ροές δεν υποστηρίζονται. Το client_secret_basic είναι η προεπιλεγμένη μέθοδος ελέγχου ταυτότητας του τελικού σημείου διακριτικού.
  • Ο πάροχος ταυτότητας υποστηρίζει το Proof Key for Code Exchange (PKCE) για δημόσιους client.
  • Ο πάροχος ταυτότητας είναι συμβατός με το πρότυπο OpenID Connect (OIDC) για τον έλεγχο ταυτότητας.
  • Ο πάροχος ταυτότητας υποστηρίζει το OpenID Connect RP-Initiated Logout 1.0 για την αποσύνδεση. Η αποσύνδεση Back-Channel και Front-Channel δεν υποστηρίζεται.
  • Ο πάροχος ταυτότητας υποστηρίζει το email ως το μοναδικό αναγνωριστικό για τους χρήστες και η επαλήθευση του email αποτελεί μέρος της διαδικασίας εγγραφής.

Απαιτήσεις τελικού σημείου

Ο πάροχος ταυτότητας με τον οποίο συνδέεστε πρέπει να υποστηρίζει συγκεκριμένα τελικά σημεία. Ελέγξτε τον παρακάτω πίνακα για να μάθετε περισσότερα σχετικά με τα απαιτούμενα τελικά σημεία, τις προδιαγραφές τους και παραδείγματα.

Απαιτούμενα τελικά σημεία παρόχου ταυτότητας
Απαιτούμενο τελικό σημείοΠαράδειγμα domain και διαδρομήςΠροδιαγραφές
Εξουσιοδότηση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
Εντοπισμός (Discovery)https://auth.provider.com/.well-known/openid-configurationOpenID Discovery 1.0

Απαιτήσεις χρόνου απόκρισης τελικού σημείου

Τα αιτήματα από το Shopify προς τα τελικά σημεία διακριτικού, ανακάλυψης και πληροφοριών χρήστη του παρόχου ταυτότητάς σας πρέπει να απαντώνται εντός 1 δευτερολέπτου. Αν ένα τελικό σημείο χρειαστεί περισσότερο από 1 δευτερόλεπτο για να ανταποκριθεί, θα λήξει το χρονικό όριο του αιτήματος και η ροή σύνδεσης θα αποτύχει. Για να αποφύγετε λήξεις χρονικού ορίου, βεβαιωθείτε ότι ο πάροχος ταυτότητάς σας φιλοξενείται σε περιβάλλον με χαμηλή καθυστέρηση και επαρκή χωρητικότητα.

Απαιτήσεις για κινητές συσκευές

Αν το κατάστημά σας διαθέτει εφαρμογή για κινητά, τότε το τελικό σημείο εξουσιοδότησης του παρόχου ταυτότητας πρέπει να υποστηρίζει τις ακόλουθες παραμέτρους:

  • code_challenge: Επαληθεύει ότι ο client που ζητά το διακριτικό είναι ο ίδιος client που ξεκίνησε το αίτημα.
  • code_challenge_method: Αυτό το τελικό σημείο πρέπει να οριστεί σε S256.

Απαιτήσεις διακριτικού αναγνωριστικού

Ένα διακριτικό αναγνωριστικού είναι μια απόδειξη ελέγχου ταυτότητας, που εκδίδεται από τον πάροχο ταυτότητάς σας αφού ένας χρήστης συνδεθεί με επιτυχία. Ελέγξτε τις παρακάτω απαιτήσεις δηλώσεων και υπογραφής για τα διακριτικά αναγνωριστικού.

Απαιτούμενες δηλώσεις

Οι δηλώσεις είναι καταχωρήσεις που κοινοποιεί ο πάροχος ταυτότητάς σας σχετικά με έναν χρήστη, οι οποίες χρησιμοποιούνται για τον έλεγχο ταυτότητας. Κατά τη σύνδεση των λογαριασμών πελατών με τον δικό σας πάροχο ταυτότητας, απαιτούνται οι ακόλουθες δηλώσεις στη ρύθμιση του διακριτικού αναγνωριστικού:

  • sub: Ένα μοναδικό αναγνωριστικό για τον χρήστη εντός του παρόχου ταυτότητάς σας.
  • nonce: Μια μοναδική συμβολοσειρά που περιλαμβάνεται στο διακριτικό αναγνωριστικού για την αποτροπή επιθέσεων επανάληψης (replay attacks).
  • email: Η μοναδική διεύθυνση email του χρήστη που χρησιμοποιείται για την παροχή του λογαριασμού πελάτη. Για ενσωματώσεις Entra ID και Azure AD, χρησιμοποιείται η δήλωση upn αντί για το email και πρέπει να παραπέμπει σε μια έγκυρη διεύθυνση email που μπορεί να λαμβάνει επικοινωνίες σχετικά με τις παραγγελίες και τον πελάτη.
  • email_verified: Μια τιμή boolean που υποδεικνύει εάν το email έχει επαληθευτεί από τον πάροχο ταυτότητας. Η τιμή για το 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 with shared secret) δεν υποστηρίζονται.

Απαιτήσεις περιόδου σύνδεσης και διακριτικού

Το Shopify χρησιμοποιεί διακριτικά ανανέωσης για τη διατήρηση των περιόδων σύνδεσης πελατών για έως και 90 ημέρες. Χωρίς διακριτικό ανανέωσης, οι περίοδοι σύνδεσης θα τερματιστούν όταν λήξει το διακριτικό πρόσβασης από τον πάροχο ταυτότητάς σας, το οποίο συνήθως διαρκεί 1 ώρα.

Για την υποστήριξη περιόδων σύνδεσης πελατών μακράς διάρκειας, ο πάροχος ταυτότητάς σας πρέπει να πληροί τις ακόλουθες απαιτήσεις:

  • Ο πάροχος ταυτότητας πρέπει να υποστηρίζει την έκδοση διακριτικών ανανέωσης όπως ορίζεται στο RFC 6749 Ενότητα 1.5.
  • Ο πάροχος ταυτότητας πρέπει να έχει διαμορφωθεί ώστε να επιστρέφει διακριτικά ανανέωσης στην απόκριση διακριτικού.

Πρόσθετοι πόροι

Για να μάθετε περισσότερα σχετικά με τους παρόχους ταυτότητας που είναι συμβατοί με το OpenID Connect (OIDC) και τις απαιτήσεις, ανατρέξτε στους παρακάτω πόρους τρίτων: