Shopify ストアでヘッドレス OTP API を使用する方法
概要
急速に変化するeコマースの世界では、顧客アカウントと取引のセキュリティは極めて重要です。ワンタイムパスワード(OTP)認証の導入は、セキュリティを強化し、機密情報を保護する効果的な方法です。このAPIガイドでは、ShopifyストアでOTP認証を有効にする手順を詳しく説明します。
Shopifyは、その拡張性と柔軟性で知られる人気のeコマースプラットフォームであり、あらゆる規模の企業にとって最適な選択肢です。ShopifyストアにOTP認証を導入することで、ユーザーアカウントやチェックアウトプロセスなどのセキュリティをさらに強化できます。
このステップバイステップ ガイドでは、miniOrange OTP ログイン アプリケーションを使用して、Shopify ストアでヘッドレス OTP API を使用する方法について説明します。
前提条件:アプリのインストール
- あなたにログインする Shopify管理者.
- に行く アプリ → Shopifyアプリストア
- 検索する ヘッドレスOTP API
- インストールを開始する ヘッドレスOTP API アプリをストアへ
- アプリを開く アプリ 左側のナビゲーションメニューのセクションで設定を開始します
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)認証の重要な仕組みと、セキュリティを強化し機密性の高い顧客データを保護するために、OTP認証をShopifyストアにシームレスに統合する方法について詳しく解説しました。「miniOrange OTP Login」アプリケーションを使用してShopifyストアにOTP認証を実装するための基本的な概念、メリット、および手順をステップバイステップで説明しています。
ご返信ありがとうございます。近日中にご連絡させていただきます。
何か問題が発生しました。 もう一度質問を送信してください
