Можно ли выполнять авторизованные вызовы SFCC (Demandware) OCAPI / shop, используя внешнюю аутентификацию клиента (например, токен доступа Cognito)?

Сегодня мы используем SFCC для электронной коммерции, и он также выступает в качестве нашего основного поставщика удостоверений. Мы находимся в процессе миграции пользователей и перехода на использование внешнего поставщика удостоверений Amazon Cognito.

После миграции мы надеялись, что сможем выполнить аутентификацию с использованием внешнего идентификатора IDP (Cognito) и использовать выпущенные токены Cognito Bearer для вызова API магазина.

Это возможно? Или для API магазина требуется JWT, выпущенный SFCC?

1 ответ

Я не делал этого раньше, но есть относительно новый способ аутентификации клиентов из "доверенной системы". Вы можете найти дополнительную информацию об этом здесь: https://documentation.b2c.commercecloud.salesforce.com/DOC2/index.jsp?topic=%2Fcom.demandware.dochelp%2FOCAPI%2Fcurrent%2Fusage%2FJWT.html

Если ваше клиентское приложение управляет вашими учетными данными клиента, оно может получить JWT для зарегистрированного клиента с помощью ресурса /customers/auth/trustedsystem. Поскольку этот API использует токен OAuth для идентификации клиентского приложения, мы настоятельно рекомендуем вам использовать его только при межсистемной интеграции, когда клиентское приложение хранит свой собственный токен OAuth в секрете.

После того, как вы сможете аутентифицировать клиента, вы можете использовать функциональность Session Bridge для преобразования этого JWT в файл cookie сеанса.

Удачи!