私は現在、自分の Web サイトに初めて Facebook ログインを実装していますが、これがどれほど安全であるかについて疑問があります。
私はすでにユーザーのデータベースを持っており、ユーザーごとにメールアドレスを保存しているため、Facebook から取得したメールアドレスがデータベースに既に存在するかどうかを確認する必要があります。そうしないと、いくつかの問題が発生します。重複ユーザー。ユーザーが既に存在する場合は、Facebook からのデータを Web サイトの既存のアカウントにマージするだけで、ユーザーを接続できます。それ以外の場合は、彼のアカウントを作成します。
しかし、ここに問題があります:
アリスはメールアドレスalice@users.comを使用して私の Web サイトに接続しますが、アリスはそのメールアドレスで Facebook に登録されていません
Bob は Alice のメール アドレスalice@users.comを使用して Facebook に登録し、任意の電話番号で受信した SMS を使用してアカウントを確認します (確認したところ、これは可能です。メールで受信したリンクをクリックしなくてもアカウントを確認できます)。アリスが彼女のメール アドレスに通知されることに同意しますが、それでも可能です。
Bob は、Facebook 接続を使用して私の Web サイトにログインをトリガーし、Alice の電子メール アドレスを使用して Facebook に接続します。
Bob の Facebook アカウントはアクティブで検証済みです。alice@users.comは既に私のデータベースにあるため、彼は既に私の Web サイトにアカウントを持っていると想定する必要があります。そのため、Alice の代わりに Bob を接続すると、彼は Alice のアカウントで私の Web サイトを使用できるようになります。
=> このシナリオをいくつかの Web サイトで試してみたところ、メール アドレスを知っていれば、他の誰かのアカウント (私が作成した偽の Facebook アカウント ;)) に接続できました。
これらの状況を防ぐ方法を知っている人はいますか?