Shopify ストアでヘッドレス OTP API を使用する方法
概要
急速に変化するeコマースの世界では、顧客アカウントと取引のセキュリティは極めて重要です。ワンタイムパスワード(OTP)認証の導入は、セキュリティを強化し、機密情報を保護する効果的な方法です。このAPIガイドでは、ShopifyストアでOTP認証を有効にする手順を詳しく説明します。
Shopifyは、その拡張性と柔軟性で知られる人気のeコマースプラットフォームであり、あらゆる規模の企業にとって最適な選択肢です。ShopifyストアにOTP認証を導入することで、ユーザーアカウントやチェックアウトプロセスなどのセキュリティをさらに強化できます。
このステップバイステップ ガイドでは、miniOrange OTP ログイン アプリケーションを使用して、Shopify ストアでヘッドレス OTP API を使用する方法について説明します。
前提条件: Shopify OTP ログインアプリケーション
ヘッドレスOTP APIを使用するには、 miniOrange OTP ログイン アプリケーション あなたの店で。
ご確認ください> ビデオShopify でのシングル サインオンの仕組みについて詳しくは、こちらをご覧ください。
構成手順
ShopifyストアにOTP認証を統合するためのステップバイステップガイド
ステップ1: 認証ヘッダーを作成する
- チャレンジおよび検証 Rest API を使用するには、まず、リクエストが有効なユーザーによって行われたことを確認するために必要な認証ヘッダーを設定する必要があります。
- HTTPリクエストヘッダーには以下の値を指定する必要があります。これはOTPリクエストとOTP検証呼び出しで共通です。
| 属性 | 詳細説明 |
| 顧客キー | 顧客キー。 |
| スタンプ | リクエストが行われている時間 (ミリ秒単位)。 |
| Authorization | 顧客キー、現在のタイムスタンプ、API キーで構成される SHA 512 ハッシュ値。 |
サンプルコード:
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: OTP生成/チャレンジREST API
- 電話番号/メールアドレスからOTPを生成するには、OTP生成/Challenge Rest APIにHTTP GETリクエストを送信する必要があります。Challenge Rest APIは以下のリクエストパラメータを受け入れます。
- OTP 生成エンドポイント: https://store.xecurify.com/moas/rest/shopify/api/auth/headless/otprequest
リクエストパラメータ:
| 属性 | 詳細説明 |
| ショップ | miniOrange OTP ログイン/登録アプリがインストールされている Shopify ストアのドメイン (myshopify)。 |
| 〜へ |
OTP を送信するメールアドレスまたは電話番号。 注: ここで提供される値は、Shopifyの顧客リストに存在する必要があります。 |
| アクション | アクションタイプを次のように記述します "ログイン" or "登録する" あなたの要件に応じて |
動作をよりよく理解するために、画像を参照してください。
下記のトグルを有効にすると 新規ユーザー向けにOTPログインを許可する.
JSON応答
- 以下は、Generate Rest API によって生成された JSON 応答です。
/* 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" }
| 属性 | 詳細説明 |
| トランザクションID | これは生成リクエストのトランザクションIDです。この値はセッションに保存する必要があります。検証APIで送信する必要があります。 |
| 認証タイプ | 認証方法。この場合はメールです。 |
| 応答タイプ | レスポンスの種類(チャレンジリクエストまたは検証リクエストへのレスポンス)を示します。有効な値: CHALLENGE |
| 電話配達 | 電話の配送状況。モバイル経由で認証が行われる場合に提供されます。 |
| contact | 電話番号 OTP が ie mobile に送信されました。 |
| 送信ステータス | 上記の連絡先の送信ステータス。有効な値: SUCCESS、FAILED、ERROR |
| 送信時間 | 送信時刻を示すタイムスタンプ。 |
| メッセージ | リクエストの全体的なステータスを示す追加メッセージ。 |
| status | チャレンジ/検証リクエストの全体的なステータス。有効な値: 成功、失敗、エラー |
ステップ 3: OTP 検証 / チャレンジ REST API の検証
- OTPを検証するには、Validate Rest APIにHTTP GETリクエストを送信する必要があります。Validate Rest APIは以下のリクエストパラメータを受け入れます。
- 私たちの検証 API は次のとおりです。 https://store.xecurify.com/moas/rest/shopify/api/auth/headless/otpverify
リクエストパラメータ:
| 属性 | 詳細説明 |
| トランザクションID | リクエストが生成されたトランザクションID。これは、Generate APIのレスポンスパラメータとして送信されます。 |
| ショップ | miniOrange OTP ログイン/登録アプリがインストールされている Shopify ストアのドメイン (myshopify)。 |
| 〜へ | OTP の送信先の電子メール アドレスまたは電話番号。 |
| otp | 携帯電話/電子メールで OTP を受信しました。 |
JSON応答
- 以下は、Validate Rest API によって生成された JSON 応答です。
/* JSON Response Object for Validation Request */
{ txId: "<UNIQUE_TRANSACTION_ID>" responseType: "VALIDATE" status:
"SUCCESS" message: "Successfully Validated" }
| 属性 | 詳細説明 |
| トランザクションID | これは生成リクエストのトランザクション ID です。 |
| 応答タイプ | レスポンスの種類(生成リクエストまたは検証リクエストに対するレスポンス)を示します。有効な値:VALIDATE |
| status | 生成/検証リクエストの全体的なステータス。有効な値: SUCCESS、ERROR、FAILED。 |
| メッセージ | リクエストの全体的なステータスを示す追加メッセージ。 |
この包括的なガイドでは、OTP(ワンタイムパスワード)認証の重要な世界と、それをShopifyストアにシームレスに統合してセキュリティを強化し、顧客の機密データを保護する方法について解説しました。基本的な概念、メリット、そして導入手順をステップバイステップで解説しました。 ShopifyストアでのOTP認証 「miniOrange OTP ログイン」アプリケーションを使用します。
その他のリソース
Get in Touch
までご連絡ください shopifysupport@xecurify.comまた、弊社のチームがShopify OTPログインアプリケーションの設定をお手伝いいたします。お客様のご要望に応じて、最適なソリューション/プランの選択をサポートいたします。
