Facebook機能でログインを実行するために、クライアント側のフローまたはサーバーサイドのフローまたはその両方が必要ですか?

StackOverflow https://stackoverflow.com//questions/9664804

質問

現在の私のウェブサイトでは、ログインIDとパスワードでログインしているため、登録時にemailを入力する必要があります。 login_idテーブルのemail列の両方に固有のインデックスがあります。 usersテーブルには、usersgenderlast_nameなどのユーザーに関連付けられている他のデータも格納されていますが、これらはオプション(Nullable)フィールドです。

私がウェブサイトにしたいのは2つの変更があります。

最初のものは、ユーザーはログインするために(first_nameに加えて)電子メールを使用することができます。新規ユーザーの場合、登録すると、それらは電子メールをログインするために自分の電子メールを使用するため、login_idを提供する必要はもうありません。

2番目の変更は、Facebookでログインできます。新規ユーザーの場合、初めてFacebookでログインした場合、それらのFacebook UIDが取得され、データベースに保存されます。つまり、login_idテーブルにfacebook_uid列を追加する必要があります。

既存のユーザーは、Facebookで初めてログインすると、まずFACEBOOKプロファイルから自分のEメールアドレスを入手してから、usersテーブルでそのEメールを使用してレコードがすでに存在するかどうかを確認してください。 UIDはそのレコードのusers列にも保存されます。

Facebookによると、そのプラットフォームはユーザーログインの2つの異なるOAuth 2.0フローをサポートしています。サーバー側のフローとクライアント側のフロー。このユースケースにはどちらが必要ですか?

また、私が上記の説明のような機能を実装するときにはどのような問題があるか?

役に立ちましたか?

解決

これへのアプローチを取ることができました、それは完全にあなた次第です。どちらの方法もあなたが必要とするデータを与えるでしょう、それはあなたが背中VSフロントエンドにどのくらい快適であるかという問題です。ユーザーのEメールアドレスにアクセスする権限を求める必要があります。

起こりうる問題:私はよくわからないが、ユーザのFacebook IDを格納するという法的制限があるかもしれません。また、誰かが私のEメールアドレスと一緒に登録し、あなたが本当にそのアドレスにアクセスできることを検証しないであれば、私がFacebookを介してログインすると、アプリは私たちのものを想定します。同じ人と邪悪なハッカーが私のアカウントにアクセスできるようになりました。ほとんどシナリオが起こる可能性があります...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top