開発者・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
既知のaddressでattemptを作る
複数pending linkはpolicy test以外では避けます。
- 2
current messageを特定する
recipient、sender、timeを確認します。
- 3
開く前にhostを見る
staging/productionを跨がせません。
- 4
redirect chainを追う
session creationまで観測します。
- 5
identityとfinal routeをassertする
HTTP 200だけでは不十分です。
メールだけでは見えないfailure
| Failure | メール | E2E |
|---|---|---|
| 環境違い | 正しく見える | host誤り |
| identity違い | 正しい宛先 | 別user session |
| callback | clickできる | final route broken |
| replay | linkが残る | 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、マジックリンク、パスワード再設定、通知メールを確認できます。
使い捨てメールを作成参考資料と追加情報
テスト指針の根拠として使用したセキュリティ資料とテストランナーの一次ドキュメントです。
次のテストへ
同じメールテスト領域にある次の境界を確認します。