Требования для подключения собственного поставщика идентификационных данных к аккаунтам клиентов
Прежде чем подключить собственного поставщика идентификационных данных к аккаунтам клиентов, убедитесь, что он соответствует всем техническим требованиям: ознакомьтесь с документацией или обратитесь в службу поддержки вашего поставщика.
На этой странице
Требования к поставщикам идентификационных данных
Для интеграции с вашим магазином 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/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 |
| Discovery | https://auth.provider.com/.well-known/openid-configuration | OpenID Discovery 1.0 |
Требования к времени ответа конечной точки
Ответ на запросы от Shopify к конечным точкам токена, discovery и userinfo вашего поставщика идентификационных данных должен поступать в течение 1 секунды. Если ответ от конечной точки занимает более 1 секунды, время ожидания запроса истечет, и процесс входа завершится ошибкой. Чтобы избежать таймаутов, убедитесь, что ваш поставщик идентификационных данных размещен в среде с низкой задержкой и достаточной производительностью.
Требования для мобильных устройств
Если у вашего магазина есть мобильное приложение, конечная точка авторизации поставщика идентификационных данных должна поддерживать следующие параметры:
code_challenge: проверяет, что клиент, запрашивающий токен, является тем же клиентом, который инициировал запрос.code_challenge_method: для этого параметра должно быть задано значениеS256.
Требования к идентификационному токену
Идентификационный токен — это подтверждение аутентификации, выдаваемое вашим поставщиком идентификационных данных после успешного входа пользователя в систему. Ознакомьтесь со следующими требованиями к утверждениям (claims) и подписям для идентификационных токенов.
Обязательные утверждения (claims)
Утверждения (claims) — это данные о пользователе, которые передает поставщик идентификационных данных и которые используются для аутентификации. При подключении аккаунтов клиентов к вашему собственному поставщику идентификационных данных в настройке идентификационного токена требуются следующие утверждения:
sub: уникальный идентификатор пользователя в системе вашего поставщика идентификационных данных.nonce: уникальная строка, включенная в идентификационный токен для предотвращения атак повторного воспроизведения.email: уникальный адрес электронной почты пользователя, используемый для создания аккаунта клиента. В интеграциях с Entra ID и Azure AD вместоemailиспользуется утверждениеupn, которое должно указывать на действительный адрес электронной почты, на который могут поступать сообщения о заказах и другая информация для клиентов.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), и о соответствующих требованиях, ознакомьтесь со следующими сторонними ресурсами: