メインコンテンツへスキップ

マジックリンクとは

この記事は約 2 分で読めます

マジックリンクとは、ユーザーのメールアドレスに送信される一回限りのログイン用 URL です。パスワードを入力する代わりに、メール内のリンクをクリックするだけで認証が完了します。Slack、Notion、Medium などのサービスが採用しており、パスワードレス認証の手軽な実装方法として注目されています。ただし、セキュリティはメールアカウントの安全性に完全に依存するため、パスキーのようなより堅牢なパスワードレス技術とは明確に区別する必要があります。

マジックリンクの仕組み

マジックリンクの認証フローは、技術的にはワンタイムパスワード (OTP) と類似しています。数字コードの代わりに、暗号学的に安全なランダムトークンを含む URL をメールで送信する点が異なります。

マジックリンク認証フロー
① メールアドレスを入力
② サーバーがトークン生成
③ トークン付き URL をメール送信
④ ユーザーがリンクをクリック
⑤ トークン検証 → セッション発行

トークンには以下の制約が設けられます。

  • 有効期限: 通常 10〜30 分。期限切れのリンクは無効になる
  • 一回使用: クリック後にトークンは即座に無効化される。再利用不可
  • 暗号学的ランダム性: 推測不可能な十分な長さ (128 ビット以上) のトークンを使用
  • IP バインド (オプション): リクエスト元とクリック元の IP を照合するサービスもある

採用事例

Slack

パスワード入力の代替として「メールでサインインリンクを送信」オプションを提供。チーム参加時の初回ログインで多用される。

Notion

デフォルトのログイン方法としてマジックリンクを採用。パスワード設定自体が不要な UX を実現している。

Medium

ソーシャルログインと並ぶ認証手段として提供。コンテンツプラットフォームの手軽さを重視した選択。

メリットとデメリット

メリットデメリット
パスワードの記憶・管理が不要メールアカウントの安全性に完全依存
パスワード漏洩・使い回しのリスクがないメール到着までの待ち時間 (数秒〜数分)
実装がシンプル (サーバー側のパスワード保存不要)フィッシング耐性がない (偽メールに騙される可能性)
ユーザー登録のハードルが低いオフライン環境ではログイン不可

特に注意すべきは、マジックリンクにはフィッシング耐性がない点です。攻撃者が偽のログインページを用意し、ユーザーにメールアドレスを入力させれば、正規のマジックリンクがユーザーのメールに届きます。ユーザーがそのリンクをクリックすると、攻撃者のセッションが認証されてしまう中間者攻撃のシナリオが成立します。メールアカウント保護の記事でメールセキュリティの強化方法を確認してください。

パスキーとの比較

マジックリンクとパスキーはどちらもパスワードレス認証ですが、セキュリティモデルが根本的に異なります。

観点マジックリンクパスキー
認証の基盤メールアカウントの所有デバイスの所有 + 生体認証
フィッシング耐性なしあり (オリジンバインド)
ログイン速度遅い (メール待ち)即時 (指紋・顔認証)
導入の容易さ非常に簡単やや複雑 (WebAuthn 実装)

パスキー移行の課題の記事で、マジックリンクからパスキーへの段階的な移行戦略を解説しています。

よくある誤解

「マジックリンクはパスワードより安全」という認識は半分正しく半分誤りです。パスワードの使い回しや弱いパスワードのリスクは排除できますが、メールアカウントが侵害されていれば全てのマジックリンクが攻撃者の手に渡ります。メールアカウントに多要素認証 (MFA) を設定していない場合、マジックリンクのセキュリティは脆弱なパスワードと大差ありません。二要素認証の記事でメールアカウントの保護方法を確認してください。パスワードレス認証の関連書籍 (Amazon)も参考になります。

現場での使用例

「社内ツールのログインをマジックリンクに切り替えたところ、パスワードリセット依頼がゼロになりました。ただし、メールの到着に 30 秒以上かかるケースがあり、ユーザーから『ログインが遅い』という声も出ています。頻繁にログインするツールにはパスキーを、たまにしか使わないツールにはマジックリンクを、という使い分けに落ち着きました。」

関連用語

この記事は役に立ちましたか?

Xはてブ