Как использовать API Headless OTP в магазине Shopify
Обзор
В быстро меняющемся мире электронной коммерции безопасность учетных записей клиентов и транзакций имеет решающее значение. Внедрение проверки с помощью одноразовых паролей (OTP) — эффективный способ повысить безопасность и защитить конфиденциальную информацию. В этом руководстве по API мы расскажем вам, как включить проверку OTP в вашем магазине Shopify.
Shopify — популярная платформа электронной коммерции, известная своей масштабируемостью и гибкостью, что делает её отличным выбором для предприятий любого размера. Вы можете добавить дополнительный уровень безопасности для учетных записей пользователей, процессов оформления заказа и многого другого, интегрировав проверку по одноразовому паролю (OTP) в свой магазин Shopify.
В этом пошаговом руководстве описаны инструкции по использованию API OTP без графического интерфейса пользователя в вашем магазине Shopify с помощью приложения miniOrange OTP Login.
Предварительное условие: приложение для входа в Shopify с использованием OTP-кода.
Для использования API OTP в безголовом режиме вам потребуется установить... Приложение miniOrange для входа по OTP в вашем магазине.
Проверьте наши XNUMX году Чтобы узнать больше о том, как работает единый вход (Single-Sign-On) в Shopify.
Шаги настройки
Пошаговое руководство по интеграции OTP-проверки в ваш магазин Shopify
Шаг 1: Создание заголовка аутентификации
- Для использования нашей системы проверки подлинности и валидации REST API необходимо сначала установить заголовки авторизации, чтобы убедиться, что запрос отправлен действительным пользователем.
- В заголовке HTTP-запроса необходимо указать следующие значения. Это правило одинаково как для запросов с одноразовым паролем (OTP), так и для вызовов проверки OTP.
| Атрибут | Описание |
| Ключ клиента | Ваш ключ клиента. |
| Timestamp | Время в миллисекундах, когда был отправлен запрос. |
| Авторизация | Хэш Sha 512 состоит из ключа клиента, текущей метки времени и ключа API. |
ОБРАЗЕЦ КОДА:
JAVA
/* JSON Object format for challenge API request */
{
/* You can get customer Key and customer Api
Key from
shopifysupport@xecurify.com
*/
String customerKey = "<YOUR_CUSTOMER_KEY>"; String apiKey =
"<YOUR_API_KEY>";
/* Current time in milliseconds since midnight, January 1, 1970 UTC.
*/
String currentTimeInMillis = String.valueOf(System.currentTimeMillis());
/* Creating the Hash using SHA-512 algorithm (Apache Shiro library)
*/
String stringToHash = customerKey + currentTimeInMillis + apiKey; String
hashValue = new Sha512Hash(stringToHash).toHex().toLowerCase(); HttpPost
postRequest = new HttpPost("");
/* Setting the Authorization Header values */
postRequest.setHeader("Customer-Key", customerKey);
postRequest.setHeader("Timestamp", currentTimeInMillis);
postRequest.setHeader("Authorization", hashValue) }
PHP
/* JSON Object format for challenge API request */
{
/* You can get customer Key and customer Api
Key from
shopifysupport@xecurify.com
*/
$customerKey = "<YOUR_CUSTOMER_KEY>"; $apiKey = "<YOUR_API_KEY>";
/* Current time in milliseconds since midnight, January 1, 1970 UTC.
*/
$currentTimeInMillis = round(microtime(true) * 1000);
/* Creating the Hash using SHA-512 algorithm */
$stringToHash = $customerKey . number_format ( $currentTimeInMillis, 0, '', ''
) . $apiKey; $hashValue = hash("sha512", $stringToHash);
/* Add $customerKeyHeader,$timestampHeader and $authorizationHeader in the
HTTP header */
$customerKeyHeader = "Customer-Key: " . $customerKey; $timestampHeader =
"Timestamp: " . number_format ( $currentTimeInMillis, 0, '', '' );
$authorizationHeader = "Authorization: " . $hashValue; }
Шаг 2: Генерация одноразового пароля / Проверка подлинности через REST API
- Для генерации одноразового пароля (OTP) для номера телефона/адреса электронной почты необходимо отправить HTTP GET-запрос к нашему REST API для генерации OTP/проверки подлинности. Наш REST API для проверки подлинности принимает следующие параметры запроса:
- Конечная точка генерации OTP: https://store.xecurify.com/moas/rest/shopify/api/auth/headless/otprequest
Параметры запроса:
| Атрибут | Описание |
| Магазин | Домен вашего магазина Shopify (myshopify), на котором установлено приложение miniOrange OTP Login/Register. |
| в |
Адрес электронной почты или номер телефона, на который вы хотите, чтобы мы отправили вам одноразовый пароль (OTP). Примечание: указанное здесь значение должно присутствовать в вашем списке клиентов Shopify. |
| действие | Укажите тип действия следующим образом: "авторизоваться" or "зарегистрироваться" согласно вашему требованию |
Для лучшего понимания действий вы можете обратиться к изображению.
Включите переключатель, показанный ниже, чтобы Разрешить вход по одноразовому паролю для новых пользователей.
Ответ JSON
- Ниже представлен JSON-ответ, сгенерированный функцией Generate Rest API.
/* JSON Response Object for Generation Request */
{ "responseType": "CHALLENGE", "phoneDelivery":{ "contact": null,
"sendStatus": null, "sendTime": null }, "customerID": "5745403199697",
"txId":"<UNIQUE_TRANSACTION_ID>", "emailDelivery": { "contact":
"<EMAIL_ADDRESS_OTP_WAS_SENT_TO>", "sendStatus": "SUCCESS", "sendTime":
"09-05-2023 05:22:37" }, "authType": "EMAIL",
"message": "The OTP has been sent to ixxxxxxxxxxxa@xxxxxxxx.com.
Please enter the OTP you received to Validate.",
"status": "SUCCESS" }
| Атрибут | Описание |
| txid | Это идентификатор транзакции для вашего запроса на генерацию. Вам необходимо сохранить это значение в сессии. Его нужно будет передать в API валидации. |
| тип аутентификации | Способ аутентификации. В данном случае это электронная почта. |
| responseType | Здесь отображается тип ответа, например, ответ на запрос подтверждения или запрос на проверку. Допустимые значения: ВЫЗОВ |
| доставка телефона | Статус доставки по телефону. Он отображается в случае аутентификации через мобильное устройство. |
| Свяжитесь с нами | Код подтверждения (OTP) с номера телефона был отправлен на мобильный телефон. |
| sendStatus | Статус отправки указанного выше контакта. Допустимые значения: SUCCESS, FAILED, ERROR. |
| sendTime | Отметка времени, указывающая на время отправки. |
| сообщение | Дополнительное сообщение, отображающее общий статус запроса. |
| статус | Общий статус запроса на проверку/подтверждение. Допустимые значения: SUCCESS, FAILED, ERROR. |
Шаг 3: Проверка одноразового пароля / REST API для подтверждения подлинности
- Для подтверждения одноразового пароля (OTP) необходимо отправить HTTP GET-запрос к нашему REST API для проверки подлинности. Наш REST API для проверки подлинности принимает следующие параметры запроса:
- Наш API для проверки данных: https://store.xecurify.com/moas/rest/shopify/api/auth/headless/otpverify
Параметры запроса:
| Атрибут | Описание |
| txid | Идентификатор транзакции, для которой был сгенерирован запрос. Он передается в качестве параметра ответа в API генерации запросов. |
| Магазин | Домен вашего магазина Shopify (myshopify), на котором установлено приложение miniOrange OTP Login/Register. |
| в | Адрес электронной почты или номер телефона, на который вы хотите, чтобы мы отправили вам одноразовый пароль (OTP). |
| OTP | OTP-код получен на ваш мобильный телефон/электронную почту. |
Ответ JSON
- Ниже представлен JSON-ответ, сгенерированный REST API Validate.
/* JSON Response Object for Validation Request */
{ txId: "<UNIQUE_TRANSACTION_ID>" responseType: "VALIDATE" status:
"SUCCESS" message: "Successfully Validated" }
| Атрибут | Описание |
| txid | Это идентификатор транзакции для вашего запроса на генерацию. |
| responseType | Здесь отображается тип ответа, например, ответ на запрос Generate или Validate. Допустимые значения: VALIDATE. |
| статус | Общий статус запроса на генерацию/проверку. Допустимые значения: SUCCESS, ERROR, FAILED. |
| сообщение | Дополнительное сообщение, отображающее общий статус запроса. |
В этом подробном руководстве мы рассмотрели важнейший мир проверки с помощью одноразовых паролей (OTP) и то, как ее можно легко интегрировать в ваш магазин Shopify для повышения безопасности и защиты конфиденциальных данных клиентов. Мы осветили основные понятия, преимущества и пошаговые инструкции по внедрению. Подтверждение по одноразовому паролю в вашем магазине Shopify с помощью приложения "miniOrange OTP Login".
Дополнительные ресурсы
Контакт
Пожалуйста, свяжитесь с нами по адресу shopifysupport@xecurify.comНаша команда поможет вам настроить приложение Shopify OTP Login. Мы поможем вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.
