1

Я пытаюсь получить access_token для пользователя, использующего модуль FB API + everyauth для NodeJS, а затем я сделаю запросы API-интерфейсов серверов, используя модуль Facebook_Graph_API, чтобы на самом деле сделать запросы (что требует токен доступа).NodeJS everyauth get token token

Согласно странице everyauth:

Затем внутри ваших взглядов, вы будете иметь доступ к следующим хелперов методов, прикрепленных к помощнику, everyauth:

  • everyauth.loggedIn
  • everyauth.user - Документ пользователя, связанный с сеансом
  • everyauth.facebook - i что эквивалентно тому, что хранится в req.session.auth.facebook, поэтому вы можете делать такие вещи, как ...
  • everyauth.facebook.user - возвращает пользователя json, предоставленного поставщиком OAuth.
  • everyauth.facebook.accessToken - возвращает access_token, предоставленный поставщиком OAuth для авторизированных вызовов API от имени пользователя .
  • И вы также получите этот шаблон для других модулей - например, 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. Есть ли способ, который я могу просто получить access_token с сервера, используя everyauth?

Гипотетически я мог бы просто использовать немного AJAX и отправить everyauth.facebook.accessToken обратно на сервер от клиента, но я чувствую, что это несколько непрактично.

Спасибо!

ответ

1

Этот раздел ответил на ваш вопрос:

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

+0

да, я могу получить пользователя от сервера приложений просто отлично, но мне было интересно, как получить значение access_token без баловаться с видом нефрита – ejang

+0

как о 'req.session.auth.fb.accessToken'? – xiaoyi

+0

Вау, по какой-то причине я не поймал этого при разборе моего json. Спасибо! – ejang