2016-11-10 68 views
1

我使用Auth0 sms無密碼登錄,我可以正確登錄,並且我正確地重定向到我指定的回調url:http://localhost:8000/authenticated?code=AUTHORIZATION_CODE。我一直在關注this教程,但是當我到達第4步和第5步以交換access_token和id_token的authorization_code時,我收到以下錯誤消息:{"error":"access_denied","error_description":"Unauthorized"}交換authorization_code for access_token和id_token不工作使用Auth0

這是我如何通過POST發送代碼到Auth0服務器:

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()); 
}); 
相關問題