2016-11-10 1 views
1

Я использую Auth0 sms passwordless login, и я могу войти в систему правильно, и я правильно перенаправлен на указанный адрес обратного вызова: http://localhost:8000/authenticated?code=AUTHORIZATION_CODE. Я выполнял this учебник, но когда я перейду к шагам 4 и 5, чтобы обменять authorization_code для access_token и id_token, я получаю это сообщение об ошибке: {"error":"access_denied","error_description":"Unauthorized"}.Exchange authorization_code для access_token и id_token не работает с использованием Auth0

Это, как я посылаю код на сервер Auth0 через POST:

var code = request.query.code; 
var url = `https://${process.env.AUTH0_CLIENT_DOMAIN}/oauth/token?client_id=${process.env.AUTH0_CLIENT_ID}&redirect_uri=http://localhost:8000/authenticated&client_secret=${process.env.AUTH0_CLIENT_SECRET}&code=${code}&grant_type=authorization_code`; 

Wreck.post(url, (err, res, payload) => { 
    console.log(payload.toString()); 
}); 

Есть ли что-то, что мне не хватает моей строки запроса? Или что-то, что мне нужно сделать, прежде чем отправлять этот запрос?

ответ

1

Мой вопрос был решен вопрос о auth0 репо: https://github.com/auth0/auth0.js/issues/234

Но я повторно отправил ответ здесь:

Сообщение полезной нагрузки, а не отправить его в качестве Params в строке запроса:

var code = request.query.code; 
var url = `https://${process.env.AUTH0_CLIENT_DOMAIN}/oauth/token`; 
var body = { 
    client_id:process.env.AUTH0_CLIENT_ID, 
    redirect_uri:'http://localhost:8000/authenticated', 
    client_secret:process.env.AUTH0_CLIENT_SECRET, 
    code:code, 
    grant_type:'authorization_code' 
}; 

Wreck.post(url, {payload:body}, (err, res, payload) => { 
    console.log(payload.toString()); 
}); 
Смежные вопросы