0

Facebook でアプリを作成しました。このアプリを使用して dotnetopenauth 経由でユーザーを承認しています。

ここでは、APPID と APPSECRET を渡し、Facebook Graph を呼び出して Facebook ユーザーの詳細を取得するために使用されるトークンを取得します。これを初めて行う場合、ユーザーは Facebook Web サイトでユーザー名/パスワードを入力するように求められ、ブラウザーでセッションが作成され、Facebook ユーザーとして私の Web サイトにリダイレクトされます。これは、現在のウィンドウで新しいタブを開いて facebook を開くと、ユーザーはユーザー名/パスワードを要求せずに自分のページを直接表示することを意味します。-これは明白で理解できます。

 // code
 request = WebRequest.Create("https://graph.facebook.com/me?access_token=" + Uri.EscapeDataString(strAccessToken)); 
 response = request.GetResponse();

私の質問は次のとおりです。上記のシナリオの後、ユーザーが Facebook Web サイトからログアウトするか、ブラウザ ウィンドウを閉じると、Facebook セッションが失われます。ただし、認証中に取得したアクセス トークン (上記のコードの文字列) はまだ持っています。そのため、現時点では、Facebook からのユーザー情報は一切保存していません (Cookie やその他のものでさえも)。アプリケーションを Facebook ユーザーとして承認するようユーザーに要求しているだけです。ユーザーがそれを行うと、Graph および REST API を呼び出すために使用できるアクセス トークンを取得します。通常、このアクセス トークンは同じままであるため、次回からトークンを取得するためにアプリケーション ID とシークレットを渡す必要はありません。実際には、保存されたトークンを使用してグラフ API と REST API を要求し、ユーザーの詳細を要求できます。私はこれをテストし、正常に動作します。

私が探しているのは、ユーザーが www.facebook.com を開くと、現在のブラウザーでセッションを行っている場合にのみ可能な個人的な Facebook ページが表示されることです。したがって、私の質問は、アクセス トークンをどのように使用するか、またはアクセス トークンを使用してどのような呼び出しを行う必要があるかでした。これにより、Facebook ユーザーのブラウザー セッションを設定できます。技術的に可能ですか?

よろしく、 AG

4

1 に答える 1

0

いいえ。あなたのアクセス トークンは、Facebook を呼び出すために Web サーバーによって使用されます。アクセス トークンを使用してユーザーが Facebook に暗黙的にログインするように facebook.com Cookie を設定するような方法でユーザーのブラウザーに影響を与えることは不可能です (そして望ましくありません)。

于 2012-09-06T21:32:57.517 に答える