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

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

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

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

  • Органът за удостоверяване на самоличността поддържа потока за код за упълномощаване OAuth 2.0. Скрити (implicit) и хибридни потоци не се поддържат. 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 към крайните точки за токен, откриване и потребителска информация на Вашия орган за удостоверяване на самоличността трябва да връщат отговор в рамките на 1 секунда. Ако времето за отговор на дадена крайна точка надвиши 1 секунда, заявката ще изтече и потокът за вход няма да се изпълни. За да избегнете изчакване, се уверете, че Вашият орган за удостоверяване на самоличността се хоства в среда с ниска латентност и достатъчен капацитет.

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

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

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

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

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

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

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

  • sub: Уникален идентификатор на потребителя във Вашия орган за удостоверяване на самоличността.
  • nonce: Уникален низ, включен в токена за удостоверена самоличност, за предотвратяване на атаки чрез повторение (replay attacks).
  • 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 дни. Без токен за подновяване на достъп сесиите ще приключат, когато изтече токенът за достъп от Вашия орган за удостоверяване на самоличността, което обикновено е 1 час.

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

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

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

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