マジックリンクとは
概要
マジックリンクは、パスワードレス認証の一種である。ユーザーがメールアドレスを入力すると、そのアドレス宛に一時的なログイン用 URL が送信される。ユーザーがそのリンクをクリックすると本人確認が完了し、ログイン状態になる。パスワードの入力・記憶・管理が一切不要なため、ユーザー体験とセキュリティの両面で利点がある。
仕組み
マジックリンクの認証フローは 4 段階で構成される。まず、ユーザーがログイン画面でメールアドレスを入力する。次に、サーバーが暗号学的に安全なランダムトークンを生成し、データベースに保存する。このトークンを含む URL をメールで送信する。最後に、ユーザーがリンクをクリックすると、サーバーがトークンの有効性を検証し、セッションを発行する。
トークンには短い有効期限 (数分から数十分程度) が設定され、1 回使用すると無効化されるのが一般的である。これにより、リンクが第三者に転送された場合でも、悪用できる時間は限られる。
パスワード認証との比較
パスワード認証では、ユーザーがパスワードを設定・記憶し、サーバーがそのハッシュ値を保存する。この方式には、パスワードの使い回し、フィッシングによる窃取、データベース漏洩時のリスクという 3 つの構造的な弱点がある。
マジックリンクはこれらの弱点の多くを構造的に回避する。パスワードそのものが存在しないため、使い回しや漏洩は起こらない。フィッシングサイトにパスワードを入力してしまうリスクも構造的に発生しない。一方で、メールアカウント自体が乗っ取られた場合はリスクがあるため、メールアカウントの二段階認証が推奨される。
どのようなサービスで使われるか
マジックリンクは、ユーザー登録のハードルを下げたいサービスや、パスワードの管理コストを避けたいサービスで採用されている。公開鍵暗号を使う FIDO2/WebAuthn ベースのパスキーと並び、パスワードレス認証の選択肢の一つとして使われている。