0

そのため、古いデスクトップ アプリ (VB、.net 4.0 で作成) を facebook 統合で更新し、ここにあるガイドに従って、トークンを正常に取得できました (埋め込まれた webview の uri に「トークン=)。今私の問題は、以前のセッションでアプリを承認済みの Facebook アカウントでログインしようとすると、トークン情報なしで Web ビューがhttps://www.facebook.com/connect/login_success.htmlにリダイレクトされることです。

手動で生成したすべてのトークンをログに記録する必要がありますか (つまり、トークン生成が成功したら、プロファイル情報を呼び出し、FB ID をキーとして使用し、トークンを保存できます)? 仮にそうしても、facebookのログイン画面にメールアドレスとパスワードを直接入力するので、ユーザーがすでにトークンを持っているかどうかを確認するにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

1

わかりましたので、私はついに自分でそれを理解しました。私の間違いは、時間を節約するためにaccess_tokenを直接 (つまり、 https://www.facebook.com/dialog/oauth?response_type=token.. .) 要求していたようです。

代わりに「コード」をリクエストすることで修正しました(つまり、 https://www.facebook.com/dialog/oauth?response_type=code)。これを使用して、文書化されているようにアクセストークンを取得するための2番目のリクエストを作成しますここ: https://developers.facebook.com/docs/facebook-login/login-flow-for-web-no-jssdk/、ページの少し下にある「アクセストークンのコードの交換」セクション。

これが将来誰かに役立つことを願っています。これは私の側では非常にイライラしました。

よろしく、王子

于 2013-10-18T08:37:29.320 に答える
1

アクセス トークンはいつでも変更できるため、毎回取得する必要があります。トークンを取得したら、すぐにユーザー情報を取得しますhttps://graph.facebook.com/me?access_token= ??? その ID を使用してデータベース情報を検索します。

Facebook の情報をすぐに見つけることができませんでしたが、Google の oauth 情報では、「アクセス トークンは、クライアント アプリケーションがアクセスできるデータの種類を定義する限定されたスコープにも関連付けられています (たとえば、「タスクの管理」)。 OAuth 2.0 の重要な目標は、アクセス トークンが盗まれた場合の潜在的な影響を最小限に抑えながら、保護されたデータへの安全で便利なアクセスを提供することです。」

https://code.google.com/p/google-api-php-client/wiki/OAuth2

于 2013-10-16T22:07:07.730 に答える