Google 和 FB 正确支持 oauth 的“状态”参数。雅虎呢?
如何在 Yahoo oauth 进程中跨请求传递自定义数据?
Google 和 FB 正确支持 oauth 的“状态”参数。雅虎呢?
如何在 Yahoo oauth 进程中跨请求传递自定义数据?
就像 Jan 所说,Yahoo 是 OAuth 1 ......并且不需要状态参数。
您会注意到 Google 和 FB 要求每个回调 URL 都在 Google/FB 中显式定义/注册。如果您想偏离这些 URL……您需要使用 state 参数。
雅虎只要求您注册回调 URL 的主机/域。其余部分完全可变,可能包含您想要的任何参数 http://myregistereddomain.com/whateverpath/?some_param=whatevr&state=heres_your_state&foo=bar
Yahoo OAuth2 实现支持参数state。您可以在主请求中附加它。这是一个基本的 php 示例:
https://api.login.yahoo.com/oauth2/request_auth?client_id='.$client_id.'&redirect_uri='.$redirect_uri.'&response_type=code&state='.$state
Google 和 Facebook 实现了 OAuth 2,这需要提供者支持该state
参数。由 Yahoo 实现的 OAuth 1没有这样的参数。
例如,您可以在用户的浏览器中存储一个 cookie 以保存状态。