2

NodeJSのFBAPI+ everyauthモジュールを使用してユーザーのaccess_tokenを取得しようとしています。次に、Facebook_Graph_APIモジュールを使用してサーバー側のグラフAPIリクエストを作成し、実際にリクエストを行います(アクセストークンが必要です)。

everyauthページによると:

次に、ビュー内から、ヘルパーにアタッチされている次のヘルパーメソッドにアクセスできますeveryauth

  • everyauth.loggedIn
  • everyauth.user-セッションに関連付けられているユーザードキュメント
  • everyauth.facebook-はに保存されているものと同等req.session.auth.facebookなので、次のようなことができます...
  • everyauth.facebook.user-OAuthプロバイダーから提供されたユーザーjsonを返します。
  • everyauth.facebook.accessToken-ユーザーに代わって承認されたAPI呼び出しのためにOAuthプロバイダーから提供されたaccess_tokenを返します。
  • また、他のモジュール(たとえば、、など)でもこのパターンが得られeveryauth.twitter.userます everyauth.github.user

.jadeテンプレート内で、リクエストを適切に行うことができます。

- if (everyauth.facebook)
h3 Facebook User Data
p= JSON.stringify(everyauth.facebook.user)
p= 'facebook access token is '+ everyauth.facebook.accessToken

私の質問は、サーバー側のJavaScriptからアクセストークンを取得するにはどうすればよいですか?私はその中に気づきました

app.get('/', function (req, res) {
  res.render('home');
console.log(req.sessionStore.sessions.);
});

reqオブジェクトにはaccess_token値が含まれていますが、対応するJSONは解析が非常に扱いにくく、数十のAPIでは実際には実用的ではありません。everyauthを使用してサーバーからaccess_tokenを簡単に取得する方法はありますか?

仮に、AJAXを少し使用して、everyauth.facebook.accessTokenをクライアントからサーバーに送り返すこともできますが、これはやや実用的ではないと感じています。

4

1 に答える 1

1

このセクションはあなたの質問に答えました:

https://github.com/bnoguchi/everyauth/blob/master/README.md#accessing-the-user

于 2012-05-20T03:24:47.130 に答える