5

私を助けてください。または、どこから始めるべきかのヒントを教えてください。私はこれと 2 週間戦っています。

ご存知のように、Facebook には新しい認証システムがあり、それを自分の Web サイトに実装する必要がありますが、それがどのように機能し、どのように Web サイトに実装するのか理解できません。もちろん、インターネットや開発者ページに例があることは知っています。それらをすべて読んだのですが、自分の Web サイトのアカウントを FB アカウントにリンクする方法がまだわかりません。カバーする必要があるいくつかの状況を紹介します。

Web サイトにはローカル アカウントがあります。ユーザー ID を FB ユーザー ID にリンクできる追加の DB テーブルがあります。

  • 状況 1:新しい人が私の Web サイトに来ました。彼/彼女は私のウェブサイトのアカウントを持っていませんが、FB アカウントを持っています。彼/彼女は「Facebookでログイン」をクリックし、FBにリダイレクトされ、アプリを承認し、新しいユーザーアカウントを作成して私のWebサイトのUIDを認証済みのFB UIDに接続する私のWebサイトにリダイレクトされます。

  • 状況 2:ある人が私のウェブサイトにアカウントを持っており、すでにいくつかの FB アカウントに接続しています。彼/彼女が「Facebookでログイン」をクリックすると、私のウェブサイトは「リンク」テーブルでFB uidを見つけ、そのFBアカウントに接続されているユーザーにログインします。

  • 状況 3: FB アカウントに接続されていないアカウントを私のウェブサイトに持っている人がいます。彼/彼女は、「このアカウントを Facebook に接続する」というリンクを使用して、私の Web サイトの特別なパネルに移動します。彼/彼女はそれをクリックし、アプリを承認し、私のウェブサイトにリダイレクトされ、ウェブサイトの uid と Facebook の uid を接続する「リンク」テーブルにレコードが作成されます。接続後、特別なパネルに「あなたは <John Doe> Facebook アカウントに接続されています。[リンク解除]」という情報が表示されます。

  • 状況 4: Facebook アカウントに接続されているアカウントを使用して、ある人が私の Web サイトにログインしています。彼/彼女は私のウェブサイトでいくつかのアクションを実行し、その結果、彼/彼女の FB ウォールにメッセージが投稿されました。

TL;DR、FBアカウントと私のウェブサイトのアカウントの間の境界を作る通常の機能。

以前の API では、すべて問題なく機能していました。また、ウォールへの投稿に使用できる offline_access もありましたが、そのためのトークンはありませんでした。

今..どこから始めればいいのか、これらのトークンをどこにどのように保存する必要があるのか​​ 、それらをどのように取得するのか、どのような場合に、既存のアカウントをリンクするのか、「リンク」の既存の「境界」を「更新」する方法がわかりません" テーブル。

疑似コードまたは 1..2..3.. ステップのリストでの簡単なヒントだけで、このフローがどのように見えるかは、インターネット上で役立つ情報が見つからないため、非常に役立ちます。この新しい API のすべての「例」または「チュートリアル」は、Web サイトで FB アカウントを認証する方法を示していますが、これらのアカウントを実際に何かに接続したり、この接続をデータベースなどに保存したりする方法は示していません。

最新の PHP Facebook SDK を使用しています。

4

1 に答える 1

2

oAuth認証ガイドは以下をご確認ください

https://developers.facebook.com/docs/authentication/server-side/

access_tokenを取得できることを実装したら、

そのaccess_tokenを使用して、データベースにユーザーを保存できるようになりました。

于 2012-04-18T07:18:33.597 に答える