2

Force.com から Nest API を呼び出すつもりで、Nest を Salesforce の認証プロバイダとして使用しています。state私が抱えている問題は、OAuth 2.0 フロー中にNest がパラメーターを破損することです。

これは、Salesforce から Nest へのリダイレクトです。わかりやすくするために改行を挿入しました。

https://home.nest.com/login/oauth2?
    response_type=code&
    client_id=16188153-52f1-4ac9-93ee-83ccab5cbd2f&
    redirect_uri=https%3A%2F%2Flogin.salesforce.com%2Fservices%2Fauthcallback%2F00DE0000000cjOBMAY%2FNest&
    state=jMG%2F2bzDEPisWyKsH7yVPHCrHdHxRAzYhG3Aq7VBF%2FrBLmW49eGj3DEzCLg0aGIvbOadXUxf1pwiDIPupqOMTZ%2BQbuThvTf58y2zXHwDNcoAvg%3D%3D

stateパラメータの「パーセントエンコーディング」に注意してください

これは、Salesforce へのリダイレクトです。

https://login.salesforce.com/services/authcallback/00DE0000000cjOBMAY/Nest?
    state=jMG/2bzDEPisWyKsH7yVPHCrHdHxRAzYhG3Aq7VBF/rBLmW49eGj3DEzCLg0aGIvbOadXUxf1pwiDIPupqOMTZ+QbuThvTf58y2zXHwDNcoAvg==&
    code=UCMG2TEF9S69CQX2

stateURL エンコードされていないことに注意してください。特に、+文字が含まれているため、Salesforce がデコードすると+スペースとして解釈され、状態が Salesforce が送信したものと一致しないため、認証に失敗します。

ネスト - これを修正してください!

4

0 に答える 0