メールアドレス認証

メールアドレス認証がオンの状態でメールアドレスを伴うアカウント作成処理が実行されると、Kii Cloud はこのメールアドレス宛てに認証リンク付きの確認メールを送信します。指定されたメールアドレスによるログインは、ユーザーがこの認証リンクをクリックするまで有効になりません。Kii Cloud は、認証処理が完了するとメールでその旨をユーザーに通知します。

なお、メールアドレス認証がオンの状態でメールアドレスが変更された場合も、同様に新しいメールアドレスの認証処理が実行されます。新しいメールアドレスによるログインは、送信された確認メール内の認証リンクがクリックされるまで有効になりません。認証が完了するとユーザーにその旨が通知されます(古いメールアドレスは認証処理が完了した時点で無効になります)。認証が完了していない保留中のメールアドレスは KiiUser.pendingEmail プロパティで取得できます。

認証機能の有効化

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

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

リダイレクト URL の設定

リダイレクト URL を設定すると、ユーザーがメール内の認証リンクをクリックした際に表示する Web ページを指定できます。

リダイレクト URL の設定は開発者ポータルで行います。リダイレクト URL の設定 をご覧ください。

メールのカスタマイズ

Kii Cloud が送信する確認メールや認証完了通知メールの送信元や内容(テンプレート)は変更可能です。テンプレートは、ユーザーのロケールごとに設定できます。

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

また、メールテンプレートのローカライズ のユーザーのロケールを設定するサンプルコードもご覧ください。

確認メールの再送信

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

ユーザー名などを使ってログイン状態にしてから、以下のように resendEmailVerificationSynchronous メソッドを呼び出します。currentUser メソッドの利用については、ログインユーザー情報の取得 をご覧ください。

Swift 3:

  • // Get the currently logged-in user.
    let user = KiiUser.current()!
    
    do{
      // Resend a verification mail.
      try user.resendEmailVerificationSynchronous()
    } catch let error as NSError {
      // Handle the error.
      return
    }
  • // Get the currently logged-in user.
    let user = KiiUser.current()!
    
    // Resend a verification mail.
    user.resendEmailVerification { (user :KiiUser?, error : Error?) -> Void in
      if (error != nil) {
        // Handle the error.
        return
      }
    }

Objective-C:

  • NSError* error = nil;
    
    // Get the currently logged-in user.
    KiiUser* user = [KiiUser currentUser];
    
    // Resend a verification mail.
    [user resendEmailVerificationSynchronous:&error];
    if (error != nil) {
      // Handle the error.
      return;
    }
  • // Get the currently logged-in user.
    KiiUser* user = [KiiUser currentUser];
    
    // Resend a verification mail.
    [user resendEmailVerificationWithBlock:^(KiiUser *user, NSError *error) {
      if (error != nil) {
        // Handle the error.
        return;
      }
    }];