電話番号(SMS)認証

電話番号(SMS)認証がオンの状態で電話番号を伴うアカウント作成処理が実行されると、Kii Cloud はこの電話番号宛てに認証コードを含む SMS を送信します。認証処理を完了するには、この認証コードをユーザーより受け取り、Kii Cloud に送信する必要があります。指定された電話番号によるログインは、この認証処理が完了するまで有効になりません。

なお、電話番号の認証がオンの状態で電話番号が変更された場合も、同様に新しい電話番号の認証処理が実行されます。新しい電話番号によるログインは、SMS 送信された認証コードを Kii Cloud に送信するまで有効になりません。認証が完了するとユーザーにその旨が通知されます(古い電話番号は認証処理が完了した時点で無効になります)。認証が完了していない保留中の電話番号は KiiUser#getPendingPhone() メソッドで取得できます。

注意:電話番号は、+ と、国コードから始まる国際電話番号を指定してください。これにより Kii Cloud で SMS の宛先を決定できるようになります。上記以外の形式が指定された場合、本人認証用 SMS が正しく送信できないことがあります。

認証機能の有効化

認証機能のオン/オフは、開発者ポータルで設定します。設定方法は 認証機能のオン/オフ をご覧ください。

デフォルトでは認証機能はオフになっています。

認証コードの登録

電話番号の認証は、以下のように verifyPhone メソッドを実行して認証コードを Kii Cloud に送信することで完了します。

  • // Get the currently logged-in user.
    KiiUser user = KiiUser.getCurrentUser();
    
    // Get a verification code.
    String code = "XYZXYZXYZ";
    
    try {
      // Verify the phone number using the code sent via SMS.
      user.verifyPhone(code);
    } catch (IOException e) {
      // Handle the error.
    } catch (AppException e) {
      // Handle the error.
    }
  • // Get the currently logged-in user.
    KiiUser user = KiiUser.getCurrentUser();
    
    // Get a verification code.
    String code = "XYZXYZXYZ";
    
    // Verify the phone number using the code sent via SMS.
    user.verifyPhone(new KiiUserCallBack() {
      @Override
      public void onVerifyPhoneCompleted(int token, Exception exception) {
        if (exception != null) {
          // Handle the error.
          return;
        }
      }
    }, code);

SMS テンプレートのカスタマイズ

Kii Cloud が送信する SMS の内容(テンプレート)はカスタマイズ可能です。

SMS テンプレートのカスタマイズは開発者ポータルで行います。メール/SMS テンプレートのカスタマイズ をご覧ください。

認証 SMS の再送信

認証リンク付き SMS はユーザーの登録や変更のタイミングで自動的に送信されますが、API によって再送することもできます。

ユーザー名などを使ってログイン状態にしてから、以下のように requestResendPhoneVerificationCode メソッドを呼び出します。

  • try {
      // Resend a verification SMS message.
      KiiUser.requestResendPhoneVerificationCode();
    } catch (IOException e) {
      // Handle the error.
    } catch (AppException e) {
      // Handle the error.
    }
    return null;
  • // Resend a verification SMS message.
    KiiUser.requestResendPhoneVerificationCode(new KiiUserCallBack() {
      @Override
      public void onRequestResendPhoneVerificationCodeCompleted(int token, Exception exception) {
        if (exception == null) {
            // Handle the error.
            return;
        }
      }
    });