Изисквания за свързване на собствен орган за удостоверяване на самоличността с клиентски акаунти

Преди да свържете собствен орган за удостоверяване на самоличността с клиентски акаунти, се уверете, че Вашият орган отговаря на всички технически изисквания, като прегледате документацията или се свържете с него за поддръжка.

Изисквания към органите за удостоверяване на самоличността

За да се интегрира с Вашия магазин в 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

Изисквания за време за отговор на крайна точка

Крайните точки за токен, откриване и информация за потребителя на вашия доставчик на самоличност трябва да отговарят на заявките от Shopify в рамките на 1 секунда. Ако крайна точка отнеме повече от 1 секунда, за да отговори, времето за заявката ще изтече и процесът на влизане ще бъде неуспешен. За да избегнете изтичане на времето, уверете се, че вашият доставчик на самоличност се хоства в среда с ниска латентност и достатъчен капацитет.

Изисквания за мобилни устройства

Ако Вашият магазин има мобилно приложение, то крайната точка за упълномощаване на органа за удостоверяване на самоличността трябва да поддържа следните параметри:

  • code_challenge: Удостоверява, че клиентът, който изисква токена, е същият клиент, който е инициирал заявката.
  • code_challenge_method: Този параметър трябва да бъде зададен на S256.

Изисквания за токени за удостоверена самоличност

Токенът за удостоверена самоличност е доказателство за удостоверяване, издадено от Вашия орган за удостоверяване на самоличността, след като потребителят влезе успешно в акаунта си. Прегледайте следните изисквания за твърдения и подпис за токените за удостоверена самоличност.

Задължителни твърдения

Твърденията са изявления, които Вашият орган за удостоверяване на самоличността споделя за даден потребител и които се използват за удостоверяване. При свързване на клиентски акаунти със собствен орган за удостоверяване на самоличността следните твърдения са задължителни в настройката на токена за удостоверена самоличност:

  • sub: Уникален идентификатор за потребителя във Вашия орган за удостоверяване на самоличността.
  • nonce: Уникален низ, включен в токена за удостоверена самоличност, за предотвратяване на атаки чрез повторение.
  • email: Уникалният имейл адрес на потребителя, използван за предоставяне на клиентския акаунт. За интеграции с Entra ID и Azure AD се използва твърдението upn вместо email и то трябва да сочи към валиден имейл адрес, който може да получава съобщения, свързани с поръчки и клиенти.
  • email_verified: Булева стойност, указваща дали имейлът е бил потвърден от органа за удостоверяване на самоличността. Стойността за email_verified трябва да бъде true.
  • iss: Идентификаторът на издателя за Вашия орган за удостоверяване на самоличността.
  • aud: Аудиторията, за която е предназначен токенът за удостоверена самоличност, известна също като Вашия идентификатор на клиент.

Изисквания за подпис на токен

Изискванията за подпис помагат на Вашия орган за удостоверяване на самоличността да провери самоличността на потребителя по време на процеса на влизане в акаунта. Вашият орган за удостоверяване на самоличността трябва да подписва токени за удостоверена самоличност, като използва един от следните поддържани алгоритми:

  • RSA: RS256, RS384, RS512
  • Елиптична крива: ES256, ES384, ES512, ES256K
  • RSA-PSS: PS256, PS384, PS512
  • EdDSA: ED25519, EdDSA

Токени, подписани с HS256 (HMAC със споделена тайна), не се поддържат.

Изисквания за сесии и токени

Shopify използва токени за подновяване на достъп, за да поддържа сесиите на клиентите до 90 дни. Без токен за подновяване на достъп сесиите ще приключат, когато токенът за достъп от Вашия орган за удостоверяване на самоличността изтече, което обикновено е 1 час.

За поддържане на сесии на клиенти с дълга продължителност, Вашият орган за удостоверяване на самоличността трябва да отговаря на следните изисквания:

  • Органът за удостоверяване на самоличността трябва да поддържа издаването на токени за подновяване на достъп, както е определено в RFC 6749 раздел 1.5.
  • Органът за удостоверяване на самоличността трябва да бъде конфигуриран да връща токени за подновяване на достъп в отговора с токена.

Допълнителни ресурси

За да научите повече за съвместимите с OpenID Connect (OIDC) органи за удостоверяване на самоличността и изискванията, прегледайте следните ресурси от трети страни: