Facebook - twitter または google plus でサインアップできる Web サイトを構築しています。これら 3 つのソーシャル ネットワーク サイト (共通 ID) を接続する何かがあるのではないかと考えました。 Facebookでログインしようとして、Googleにサインアップしたときに、Facebookの新しい行データベースを送信せずに同じデータでログインしたときのようなものです。つまり、ログインに使用できる共通要素を見つける必要があります。読んでくれてありがとう
3 に答える
3 つの間で共有される保証されたフィールドはありません。この状況を処理するには、次の 2 つの方法があります。
1) 3 つすべてで取得できる電子メール アドレスのようなものを使用し、それらが同じアドレスを使用することを望みます。
2) そのうちの 1 つを使用してアカウントにログインした後、追加のアカウントを他の 2 つにリンクさせます。(または、同じサービスから追加のアカウントを複数回リンクさせることもできます。)
このライブラリを使用して、プロバイダーから情報を取得できます: http://hybridauth.sourceforge.net/プロバイダー から情報を取得すると、接続されたプロバイダーの一意の識別子が取得されます。そうすれば、その識別子をシステム内の特定のユーザーのプロバイダー列として使用できます。
たとえば、userId、userEmail、...、twitterIdentifier、googleIdentifier、facebookIdentifier を含むテーブルを作成できます。
ユーザーが最初に任意のプロバイダーに接続するときに、正しいプロバイダー フィールドが設定された新しいユーザーをデータベースに作成できます。ログイン時に、要求されたプロバイダーの正しい列を確認し、それがどのユーザーであるかを確認します...
次に、テーブル内のユーザー ID を確認し、uid を更新可能な引数として使用して、同じ行で twitter\Google\fb authos フィールドを更新します。関連する oauth ID は、ユーザーのログイン時間に役立ちます