私が書いているSymfony2アプリケーション内に2要素認証スキームを実装しようとしています。基本的に、システムは現在、DoctrineORMエンティティをユーザープロバイダーとして使用して正常に動作しています。しかし、これを適切かつ最も効率的に追加する方法を見つけるのに問題が発生しています。
基本的に、認証はそのように機能する必要があります。ユーザーにはログインフォームが表示されます。ユーザーとパスワードの組み合わせを入力し、OTP(この場合はyubikey)を入力します。
標準のsymfony2認証は、ユーザー/パスワードを適切に処理します。ただし、OTPサポートを追加するオプションを追加したいと思います(ユーザーがyubikeyのデータベースエントリを持っていて、サイト全体で有効になっている場合)。
誰かがそのようなスキーマで運が良かったですか?車輪の再発明を避けたいので、これを現在の認証スキーマに結び付ける方法を理解する必要があります。
もともと、私が使用しているカスタムパスワードエンコーダー(bcrypt)内でisPasswordValid()関数を使用することを考えていました。ただし、その関数にotpを渡す方法はないようです。