У меня запущено это экспресс-приложение;
const oa = new OAuth(
'https://www.khanacademy.org/api/auth2/request_token',
'https://www.khanacademy.org/api/auth2/access_token',
process.env.CONSUMER_KEY,
process.env.CONSUMER_SECRET,
'1.0',
'http://localhost:3000/oauth/callback',
'HMAC-SHA1',
64
)
app.get('/oauth', (req, res) => {
oa.getOAuthRequestToken(function requestTokenCallback(err, token, token_secret, results) {
if (err) {
console.log('requestTokenCallback', err)
return
}
req.session.oauth = req.session.oauth || {}
req.session.oauth.token = token
req.session.oauth.token_secret = token_secret
res.redirect(`https://www.khanacademy.org/api/auth2/authorize?oauth_token=${token}`)
// I've tried res.redirect(`https://www.khanacademy.org/api/auth2/authorize?oauth_token=${token}&oauth_callback=${encodeURIComponent('http://localhost:3000/oauth/callback')}`)
})
})
Однако нажатие accept
после перенаправления пользователя не перенаправляет его на мой обратный вызов, 'http://localhost:3000/oauth/callback'
.
У этого парня, похоже,та же проблема: oauth_callback для API Академии Хана не беспокоит .Однако я следовал инструкциям ответа и перенаправил с параметром oauth_callback
, но безрезультатно.
Я вообще новичок в oauth в целом, но я не верю, что это моя вина.Мне просто нужен какой-то обходной путь.