#virtocommerce
#virtocommerce
Вопрос:
как следует из названия, я хочу расширить конечные точки API платформы VC с помощью встроенной аутентификации API (через ключ API).
Я следовал руководству по созданию управляемого модуля, и я могу успешно выполнять вызовы API. Однако она не включает никакой аутентификации. Мне интересно, как бы мне этого добиться?
Другой вопрос заключается в том, что для того, чтобы VC Storefront мог использовать мои конечные точки пользовательского API, мне пришлось бы сгенерировать модуль API с использованием автозапуска в проекте VC Storefront, правильно?
Спасибо всем заранее!
Комментарии:
1. Правильно ли я понимаю проблему: вы хотите, чтобы ваш API был ограничен, но теперь вы можете получить к нему доступ анонимно. Правильно?
2. На самом деле я ошибся. Оказалось, что я регистрировался как администратор на платформе VC и попробовал вызвать API. Как только я удалил cookie, я больше не могу вызывать API. Вчера я фактически предоставил конечные точки пользовательского API для витрины магазина VC и получил успешный возврат от API. Приветствия 🙂
Ответ №1:
VC использует API платформы с APIRequestHandler, который использует ApppId и SecretKey для добавления заголовка к каждому запросу API:
request.Headers.Authorization = new AuthenticationHeaderValue("HMACSHA256", signature.ToString());
Затем обработчик используется каждой конечной точкой — ссылка на код.
Более подробную информацию об аутентификации можно найти здесь: Работа с platform API.
Другой вопрос заключается в том, что для того, чтобы VC Storefront мог использовать мои конечные точки пользовательского API, мне пришлось бы сгенерировать модуль API с использованием автозапуска в проекте VC Storefront, правильно?
Да, правильно.
Комментарии:
1. Привет, Андрей, спасибо за ответ. У меня действительно получилось. Я неправильно понял, как работает модуль. Я забыл, что модуль был установлен на платформе, и все конечные точки доступны через Platform API, поэтому аутентификации должны работать с ним. Теперь я могу использовать все свои конечные точки через приложение Storefront 🙂 Спасибо!