【问题标题】:NodeJS everyauth get access tokenNodeJS everyauth 获取访问令牌
【发布时间】:2012-05-27 01:31:35
【问题描述】:

我正在尝试使用 FB API + 用于 NodeJS 的everyauth 模块为用户获取 access_token,然后我将使用 Facebook_Graph_API 模块发出服务器端图形 API 请求以实际发出请求(这需要访问令牌)。

根据everyauth页面:

然后,在您的视图中,您将可以访问以下内容 附加到 helper 的 helpers 方法,everyauth:

  • everyauth.loggedIn
  • everyauth.user - 与会话关联的用户文档
  • everyauth.facebook - 相当于存储在req.session.auth.facebook 中的内容,因此您可以执行...
  • everyauth.facebook.user - 返回 OAuth 提供者提供的用户 json。
  • everyauth.facebook.accessToken - 返回 OAuth 提供者为授权 API 调用提供的 access_token,代表 用户。
  • 您还可以为其他模块获得这种模式 - 例如,everyauth.twitter.usereveryauth.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 从客户端发送回服务器,但我觉得这有点不切实际。

【问题讨论】:

    标签: javascript facebook node.js facebook-access-token everyauth


    【解决方案1】:

    【讨论】:

    • 是的,我可以从应用服务器获取用户就好了,但我想知道如何在不弄乱玉视图的情况下获取 access_token 值
    • req.session.auth.fb.accessToken 怎么样?
    • 哇,由于某种原因,我在解析我的 json 时没有注意到这一点。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2019-08-05
    • 2014-07-09
    • 2016-07-02
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多