Требования для подключения собственного поставщика идентификационных данных к аккаунтам клиентов
Прежде чем подключать собственного поставщика идентификационных данных к аккаунтам клиентов, убедитесь, что ваш поставщик соответствует всем техническим требованиям. Для этого ознакомьтесь с документацией или обратитесь в службу поддержки поставщика идентификационных данных.
На этой странице
Требования к поставщикам идентификационных данных
Для интеграции с вашим магазином 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) каналам не поддерживается.
- Поставщик идентификационных данных должен поддерживать адрес электронной почты в качестве уникального идентификатора пользователя, а проверка адреса электронной почты должна быть частью процесса регистрации.
Требования к конечным точкам API
Подключаемый поставщик идентификационных данных должен поддерживать определённые конечные точки API. Ознакомьтесь с таблицей ниже, чтобы узнать больше о требуемых конечных точках, их спецификациях и примерах.
| Требуемая конечная точка | Пример домена и пути | Спецификации |
|---|---|---|
| Авторизация | 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 в течение 1 секунды. Если конечная точка отвечает дольше 1 секунды, время ожидания запроса истекает, и процесс входа завершается ошибкой. Чтобы избежать превышения времени ожидания, убедитесь, что ваш поставщик идентификационных данных размещен в среде с низкой задержкой и достаточной производительностью.
Требования для мобильных устройств
Если у вашего магазина есть мобильное приложение, конечная точка авторизации поставщика идентификационных данных должна поддерживать следующие параметры:
code_challenge: проверяет, что клиент, запрашивающий токен, — это тот же клиент, который инициировал запрос.code_challenge_method: эта конечная точка должна иметь значениеS256.
Требования к идентификационным токенам
Идентификационный токен — это подтверждение аутентификации, которое выдаёт ваш поставщик идентификационных данных после успешного входа пользователя в систему. Ознакомьтесь со следующими требованиями к утверждениям и подписям для идентификационных токенов.
Обязательные утверждения
Утверждения — это заявления о пользователе, которыми делится ваш поставщик идентификационных данных и которые используются для аутентификации. При подключении аккаунтов клиентов к собственному поставщику идентификационных данных в настройках идентификационного токена требуются следующие утверждения:
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 час).
Для поддержки длительных сессий клиентов ваш поставщик идентификационных данных должен соответствовать следующим требованиям:
- Поставщик идентификационных данных должен поддерживать выдачу токенов обновления, как определено в разделе 1.5 RFC 6749.
- Поставщик идентификационных данных должен быть настроен на возврат токенов обновления в ответе с токеном.
Дополнительные ресурсы
Чтобы узнать больше о поставщиках идентификационных данных, совместимых с OpenID Connect (OIDC), и о требованиях, ознакомьтесь со следующими сторонними ресурсами: