Для обеспечения бесперебойной работы пользовательских сессий (например, доступа к бонусам лояльности, персонализированным предложениям) и авторизованных платежей необходимо реализовать функцию привязки идентификаторов с использованием OAuth 2.0 . Если привязка идентификаторов не реализована, необходимо поддерживать оплату без регистрации.
По любым вопросам, касающимся правил защиты персональных данных и практики получения согласия, проконсультируйтесь со своей юридической командой.
Основные требования
- Протокол: Реализация потока авторизационного кода OAuth 2.0 ( RFC 6749 2.3.1 ).
- Аутентификация клиента: Должна поддерживаться базовая HTTP-аутентификация (
client_secret_basic) в конечной точке токена. - Области действия: Необходимо поддерживать стандартные области действия UCP, определенные в этом разделе.
- Обнаружение: Для того чтобы платформа могла обнаруживать ваши конечные точки, необходимо разместить файл метаданных по адресу
/.well-known/oauth-authorization-server( RFC 8414 ).
Области применения
Необходимо реализовать следующую область действия, которая предоставляет разрешения на все операции жизненного цикла оформления заказа (Получить, Создать, Обновить, Удалить, Отменить, Завершить).
- Название области действия:
ucp:scopes:checkout_session
Удобство использования: Запрашиваемые области действия следует представлять в виде единого, объединенного экрана согласия (например, «Разрешить Google управлять вашими сессиями оформления заказа»), а не в виде отдельных технических переключателей.
Google Streamlined Linking
Google Streamlined Linking — это необязательное дополнение к стандартному протоколу OAuth 2.0. Оно использует утверждения JWT для объединения проверок намерений и обмена токенами в конечной точке токена OAuth 2.0 ( check , create , get намерений).
Для обеспечения бесперебойной работы пользователей рекомендуется использовать функцию Google Streamlined Linking. Она позволяет пользователям связывать учетные записи или создавать новые учетные записи, используя свой профиль Google, не покидая интерфейс Google. Поскольку весь процесс происходит внутри пользовательского интерфейса Google, отдельный интерфейс для связывания не требуется. Это снижает затраты на разработку, исключает перенаправления в браузере и может повысить коэффициент конверсии.
- Спецификация: Реализация должна соответствовать требованиям к упрощенной системе связывания .
- Стандарты: Хотя он заимствует концепции из RFC 7523 , он отличается для повышения безопасности.
Метаданные сервера авторизации (пример в формате JSON)
Необходимо опубликовать этот JSON-объект по адресу https://[your-domain]/.well-known/oauth-authorization-server
Пример:
{
"issuer": "https://merchant.example.com",
"authorization_endpoint": "https://merchant.example.com/oauth2/authorize",
"token_endpoint": "https://merchant.example.com/oauth2/token",
"revocation_endpoint": "https://merchant.example.com/oauth2/revoke",
"scopes_supported": [
"ucp:scopes:checkout_session"
],
"response_types_supported": [
"code"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"token_endpoint_auth_methods_supported": [
"client_secret_basic"
],
"service_documentation": "https://merchant.example.com/docs/oauth2"
}