我正在尝试为雅虎实施oauth2(目标是雅虎的联系方式api)。见这里:https://developer.yahoo.com/oauth2/guide/#implicit-grant-flow-for-client-side-apps
但是,我收到以下错误:
糟糕。雅虎无法处理您的请求。 我们建议您与应用程序或网站的所有者联系以解决此问题。 [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"}
[UPDATE]
在遵循HansZ.
的建议后,我能够解决它。
现在问题已经回来而没有改变任何代码。基本上,只有当我使用雅虎身份登录时,它才有用,我曾经在雅虎设置了应用程序。
否则,有时会进入循环并且chrome说
此网页有一个重定向循环
其余时间再次出错。
答案 0 :(得分:1)
您的state
是问题所在。我可以通过在我的Yahoo客户端的授权请求中包含您的URL编码状态来重现该问题。问题是州的长度或总URL。您可以恢复使用cookie来维护该状态,并仅将(更短)cookie名称作为state
参数发送。