Nest API破坏了OAuth 2.0状态参数

时间:2014-10-01 06:05:27

标签: oauth nest-api

我使用Nest作为Salesforce的身份验证提供程序,目的是从Force.com调用Nest API。我遇到的问题是Nest在OAuth 2.0流程中破坏了state参数。

这是从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

注意,state不再是URL编码的。特别是,由于它包含+字符,当Salesforce对其进行解码时,+被解释为空格,并且状态与Salesforce发送的不匹配,因此身份验证失败。

Nest - 请解决此问题!

0 个答案:

没有答案