Aliyun Short Message Service を使用してSMS認証を設定する
Aliyun ショートメッセージサービス用の公式 Logto コネクターです。
ヒント:
このガイドは、Logto コネクターについての基本的な理解があることを前提としています。未経験の方は、コネクター ガイドを参照して始めてください。
はじめに
Aliyun はアジアの主要なクラウドサービスプロバイダーであり、SMS(ショートメッセージサービス)を含む多くのクラウドサービスを提供しています。Aliyun SMS コネクターは、Logto チームが提供するプラグインで、Aliyun の SMS サービスを呼び出すことができます。これにより、Logto のエンドユーザーは SMS 認証コードを使って Logto アカウントの登録やサインインが可能になります。
Aliyun SMS コンソールでショートメッセージサービスを設定する
Aliyun アカウントを作成する
Aliyun のウェブサイト にアクセスし、まだアカウントをお持ちでない場合は登録してください。
Aliyun ショートメッセージサービスを有効化・設定する
- Aliyun のウェブサイト で Aliyun アカウントにサインインし、SMS サービスコンソールページ にアクセスします。
- SMS サービスページ左上の「無料開通」ボタンをクリックし、設定プロセスを開始します。
- 「SMS サービス開通条款」を読み同意し、「開通サービス」をクリックして次に進みます。
- SMS サービスコンソールページ に移動したら、利用用途に応じてサイドバーの「国内消息」または「国际/港澳台消息」ボタンを選択します。
- ガイドラインに従って署名とテンプレートを追加し、審査に必要な資料や情報を提出します。
- 署名申請時の「適用シーン」には「验证码(認証コードメッセージ)」を、テンプレート申請時の「模板类型」も「验证码(認証コードメッセージ)」を選択してください。これは認証コード送信用の署名・テンプレートを利用するためです。現在、認証コード以外の SMS メッセージ送信には対応していません。
- テンプレート内容で認証コードを挿入したい箇所には
{{code}}をプレースホルダーとして使用してください。
- SMS 署名とテンプレート申請を提出した後、反映されるまでしばらく待つ必要があります。この時点で SMS サービスコンソールページ に戻り、テスト SMS を送信できます。署名とテンプレートが利用可能であれば直接試せます。まだ反映されていない場合は、Aliyun がテスト用テンプレートも提供しています。
- テストメッセージ送信前に少額のチャージが必要な場合があります。
- テストメッセージ送信前にテスト用電話番号の紐付けが求められる場合もあります。詳細は SMS サービスコンソールページ のサイドバー「快速学习」タブをご覧ください。
コネクター JSON を作成する
- SMS サービスコンソールページ で右上のアバターにカーソルを合わせ、「AccessKey 管理」に進み、「AccessKey 作成」をクリックします。セキュリティ認証後、「AccessKey ID」と「AccessKey Secret」のペアが発行されます。大切に保管してください。
- 先ほどアクセスした「国内消息」または「国际/港澳台消息」タブで、「签名名称(署名)」と「模板 CODE(テンプレートコード)」を確認できます。
- テスト専用の署名・テンプレートを使いたい場合は、「快速学习」タブに移動し、「Signature & Templates (For Test Only)」の下に表示されます。
- Aliyun SMS コネクターの設定を入力します:
accessKeyIdとaccessKeySecretフィールドには、手順 1 で取得したアクセスキーのペアを入力します。signNameフィールドには、手順 2 で確認した「签名名称(署名)」を入力します。すべてのテンプレートでこの署名名を共有します。- 用途ごとに複数の SMS コネクターテンプレートを追加できます。以下は単一テンプレート追加の例です:
templateCodeフィールドには、手順 2 で取得した「模板 CODE(テンプレートコード)」を入力します。これが SMS の内容を制御します。usageTypeフィールドには、用途に応じてRegister、SignIn、ForgotPassword、Genericのいずれかを入力します。(usageTypeは Logto 独自のプロパティで用途を識別します。)すべてのユーザーフローを有効にするには、Register、SignIn、ForgotPassword、Genericの usageType を持つテンプレートが必要です。
- 「電話番号の地域番号厳格チェック」を設定します:
- 海外(中国本土以外、例:US、HK など)への SMS 送信が必要な場合は有効にしてください。有効にすると、すべての電話番号に有効な地域コード(例:+1、+852)が含まれているとみなされ、中国本土かどうかを判定します。
- 注意:既存ユーザーの電話番号に地域コードが含まれていない場合、有効化するとサインインに影響する可能性があります。海外 SMS 配信が必要な場合のみ有効にしてください。
Aliyun SMS コネクターのテスト
電話番号を入力し「送信」をクリックすることで、「保存して完了」前に設定が機能するか確認できます。
以上です。サインアップ・サインインでコネクターを有効化するのをお忘れなく。
設定タイプ
| 名前 | 型 |
|---|---|
| accessKeyId | string |
| accessKeySecret | string |
| signName | string |
| templates | Template[] |
| テンプレートプロパティ | 型 | 列挙値 |
|---|---|---|
| templateCode | string | N/A |
| usageType | enum string | 'Register' / 'SignIn' / 'ForgotPassword' / 'Generic' |