メールアドレス認証・検証手法
手順
ユーザーがフォームでメールアドレスを入力
システムが「確認用URL」を記載したメールを送信
ユーザーがURLをクリックする
認証完了
メリット
届いたメール内のリンクをクリックするだけなので、UXがわかりやすくユーザーの手間が少ない リンクをクリックした時点で確実にメール受信環境にアクセスできる、つまりユーザーが入力したメールアドレスの所有者であることがわかる
実装が比較的簡単
ワンタイムトークン+リダイレクト先URLを生成してメール送信する仕組みは一般的に確立されている
デメリット
メールソフトやネットワーク環境でURLが踏めない・スパム判定されているなどのトラブルが稀に発生
認証完了のため、一度フォームから離れてメールアプリを開きリンクをクリックしないといけないため、ユーザーが途中で離脱するリスクがある
手順
ユーザーがフォームでメールアドレスを入力
システムが使い捨ての数字や文字列で構成される認証コードをメールで送る
フォーム上にコードを入力させる
認証完了
メリット
フォーム入力画面を離脱せずにコードを入力するフローを組み込める
メール閲覧のために一時的に別アプリを開くケースはあるものの、「画面を遷移して完了」より離脱率が低い場合もある
認証コードを使いまわされにくいのでセキュリティも比較的高い
デメリット
ユーザーはコピー&ペースト、またはメールを見ながら数字を入力する手間がある
トークン生成やバリデーションの仕組みが必要なので、やや実装コストが上がる
メールを確認できる環境がなければ認証できない
携帯端末でフォーム入力しているが、メールがPCにしか届かないなど
手順
メリット
実装が比較的シンプル (OAuthなどを用いる)
ユーザーは追加入力の手間が少なく、利便性が高い
デメリット
IDPが検証済みかどうかは基本的に信頼するしかない
ただしGoogleやFacebookなど大手IDPは、メールアドレスを確認しないとアカウントが作れない仕組みがある
「特定の外部サービスを使いたくない」というユーザーには合わない