受信トレイ
開発者・QAへ戻る

リンクはauthentication handoff

Magic Linkログインでsession bugまで検出するテスト方法

recipient、environment、link、redirectだけでなく、最後に作られた認証sessionのidentityまで確認します。

読了目安 8分

Magic linkのメールが正しく見えても、別ユーザーのsessionを作る、stagingからproductionへ飛ぶ、replayできるといった不具合は残ります。メールから最終sessionまで1本の認証チェーンとして追う必要があります。

trust boundaryを順に追う

  1. 1

    既知のaddressでattemptを作る

    複数pending linkはpolicy test以外では避けます。

  2. 2

    current messageを特定する

    recipient、sender、timeを確認します。

  3. 3

    開く前にhostを見る

    staging/productionを跨がせません。

  4. 4

    redirect chainを追う

    session creationまで観測します。

  5. 5

    identityとfinal routeをassertする

    HTTP 200だけでは不十分です。

メールだけでは見えないfailure

FailureメールE2E
環境違い正しく見えるhost誤り
identity違い正しい宛先別user session
callbackclickできるfinal route broken
replaylinkが残る2回目もlogin

有効なURLはcredentialとして扱う

Auth0はmagic linkをクリックすると直接loginする方式として説明しています。full URLを長期ログやartifactに残すのは避けます。

host、sanitized route、time、resulting sessionだけで診断できることが多いです。

個別に持つcase

  • fresh link
  • expiration
  • second use
  • two requested links
  • environment separation
  • allowed redirect
  • same identity session

Magic linkテストのゴールは正しいsessionです。message、URL、redirect、identity、environmentが最後まで一致して初めて成功です。

手動メールQA用のクリーンな受信先が必要ですか?

MailOnceで、個人の受信箱をテストデータとして使わずに、登録、OTP、マジックリンク、パスワード再設定、通知メールを確認できます。

使い捨てメールを作成

参考資料と追加情報

テスト指針の根拠として使用したセキュリティ資料とテストランナーの一次ドキュメントです。

次のテストへ

同じメールテスト領域にある次の境界を確認します。