2016-11-10 3 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"}auth0を使用してaccess_tokenおよびid_tokenのExchange認証コードが動作しない

これは私が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()); 
}); 
関連する問題