Yahoo - OAuth2 - 错误 95037 是什么?

Yahoo - OAuth2 - what is Error 95037?

我正在尝试为 yahoo 实施 oauth2(目标是 yahoo 的联系人 api)。看这里:https://developer.yahoo.com/oauth2/guide/#implicit-grant-flow-for-client-side-apps

但是,我收到以下错误:

Oops. Yahoo is unable to process your request. We recommend that you contact the owner of the application or web site to resolve this issue. [95037]

如何解决这个问题?它与我一起使用 response_type=token(隐式授权流需要),但适用于 response_type=code

[编辑] 对雅虎的请求(urldecoded):

https://api.login.yahoo.com/oauth2/request_auth?client_id=[CLIENT_ID]&response_type=token&redirect_uri=[PATH]&display=popup&scope=&state={"client_id":"[CLIENT_ID]","network":"yahoo","display":"popup","callback":"_hellojs_23g8z6wk","state":"","redirect_uri":"[PATH]","scope":"friends,basic"}

[更新] 在遵循 HansZ. 的建议后,我能够解决它。

现在问题又回来了,没有更改任何代码。基本上,只有当我使用我在 Yahoo 上设置应用程序时使用的 Yahoo ID 登录时,它才有效。

否则,有时会进入循环 chrome 说

This webpage has a redirect loop`

其余时间它再次给出错误。

你的 state 就是问题所在。我可以通过在我的 Yahoo 客户端的授权请求中包含您的 URL 编码状态来重现该问题。问题是状态的长度或总数URL。您可以恢复使用 cookie 来维护该状态,并仅发送(更短的)cookie 名称作为 state 参数。