マジックリンクとは
概要
マジックリンクは、パスワードレス認証の一種である。ユーザーがメールアドレスを入力すると、そのアドレス宛に一時的なログイン用 URL が送信される。ユーザーがそのリンクをクリックすると本人確認が完了し、ログイン状態になる。パスワードの入力・記憶・管理が一切不要なため、ユーザー体験とセキュリティの両面で利点がある。
仕組み
マジックリンクの認証フローは 4 段階で構成される。まず、ユーザーがログイン画面でメールアドレスを入力する。次に、サーバーが暗号学的に安全なランダムトークンを生成し、データベースに保存する。このトークンを含む URL をメールで送信する。最後に、ユーザーがリンクをクリックすると、サーバーがトークンの有効性を検証し、セッションを発行する。
トークンには有効期限 (一般的に 10-30 分) が設定され、1 回使用すると無効化される。これにより、リンクが第三者に転送されても悪用の時間的猶予が極めて短くなる。
パスワード認証との比較
パスワード認証では、ユーザーがパスワードを設定・記憶し、サーバーがそのハッシュ値を保存する。この方式には、パスワードの使い回し、フィッシングによる窃取、データベース漏洩時のリスクという 3 つの構造的な弱点がある。
マジックリンクはこれらの弱点を根本的に排除する。パスワードが存在しないため、使い回しも漏洩もあり得ない。フィッシングサイトにパスワードを入力してしまうリスクも構造的に発生しない。一方で、メールアカウント自体が乗っ取られた場合はリスクがあるため、メールアカウントの二段階認証が推奨される。
採用事例と普及状況
マジックリンクは Slack、Notion、Medium、Substack など、多くの Web サービスで採用されている。特にユーザー登録のハードルを下げたいサービスや、セキュリティを重視するサービスで普及が進んでいる。FIDO2/WebAuthn などの生体認証と並び、パスワードレス認証の主要な選択肢の一つとして定着している。
パスワードレス認証の技術動向を詳しく知りたい方は、パスワードレス認証の関連書籍も参考になります。