2016-12-14 1 views
0

Используя стратегию паспортного auth0Почему refreshtoken всегда нуль с использованием стратегии паспорта Auth0

https://github.com/auth0/passport-auth0

Моего обратный вызов всегда имеет нуль для маркеров обновления. Вызов функции блокировки auth0 напрямую дает мне refreshtoken, как и ожидалось, однако использование этой стратегии паспорта oauth не возвращает refreshtoken. Мне нужно передать область offline_access в auth0 - и если да, то как передать ее с помощью Auth0Strategy?

passport.use(new Auth0Strategy({ 
    domain:  config.auth0.domain, 
    clientID:  config.auth0.clientId, 
    clientSecret: config.auth0.secret, 
    callbackURL: '/login/return' 
    }, 
    function(accessToken, refreshToken, extraParams, profile, done) { 
    console.log('refresh token is always null', refreshToken); 
} 
}); 

ответ

1

Да, вам нужно запросить (путем добавления scope=offline_access). Вы делаете это, когда вы отправляете первоначальный запрос авторизации (например, через Lock или auth0.js или просто следуя ссылке с правильными параметрами). На самом деле это не зависит от паспорта. Имеет смысл?

например. попробуйте с этим:

app.get('/login', 
    passport.authenticate('auth0', {scope: 'offline_access'}), function (req, res) { 
    res.redirect("/"); 
}); 
+0

Да - но я не могу найти, где отправить этот параметр, так как паспорт делает запрос на авторизацию, поэтому я должен настроить стратегию паспортный каким-то образом добавить эту конфигурацию. Похоже, что он использует стандартный образец oauth, чтобы сделать запрос на код, и я не вижу свойства параметров, которое я могу установить. – MonkeyBonkey

Смежные вопросы