簡體   English   中英

Laravel 5 多重身份驗證

[英]Laravel 5 Multi-Factor Authentication

我正在考慮為我的一個項目實施兩因素身份驗證。 我見過: https : //github.com/bitbeans/Yubikey
https://github.com/antonioribeiro/google2fa
https://github.com/lahaxearnaud/laravel-u2f

我想將選擇權留給我的用戶,需要哪種身份驗證方法以及需要多少種身份驗證方法。 因此,我知道我正在考慮編寫一些特殊的代碼來實現這一目標,但我不確定從哪里開始。

我的目標是讓用戶不使用任何其他身份驗證方法或允許他們使用所有可用的其他身份驗證方法。 理想情況下,登錄表單只需要用戶名/密碼; 輸入正確的憑據后,用戶將被定向到用戶選擇使用的每種身份驗證方法的新頁面。

laravel-u2f 使用中間件; 我不反對這樣做,但似乎有太多額外的邏輯需要為每個請求處理,而不僅僅是在用戶登錄時處理。

我已經考慮過更換默認的 Auth 驅動程序,但我不確定這是最好的做法。

我最后的想法; 我傾向於偵聽“auth.attempt”事件並使用它來檢查需要完成哪些額外的身份驗證。 但我不確定如何處理從中獲取其他身份驗證信息的最佳方法。

所以我發帖的原因是尋找關於實現我正在尋找的最佳方式的意見。

您可以放置​​一個值,例如full_authenticated

Session::put('full_authenticated', 'false');

並在現有的身份驗證中間件中使用它。 通過這種方式,您可以將中間件部分中的邏輯削減為一個比較。

如果您想稍后添加更多的身份驗證方法,您應該為通用身份驗證方法實現一個接口/合同。 然后編寫一個身份驗證管理器類,它在會話中設置 full_authenticated 並為不同的用戶處理不同的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM