0

我目前正在使用一个库(SocialAuth.NET - http://code.google.com/p/socialauth-net/)来处理多个社交平台上的登录。

到目前为止,使用 facebook 和 twitter,我没有任何问题。然而,在尝试实施 Google 登录过程时,有时(显然是随机的)会发生错误。

在进行了一些调查(调试库并使用 Fiddler 等)之后,我得出的结论是,有时,google 部分的登录过程通过POST而不是通过GET返回到我的身份验证处理程序。使用 Fiddler,我能够清楚地识别消息正文中的所有参数(在POST回调的情况下)或查询字符串(在GET回调的情况下),因此谷歌正确记录了我的用户。

这会导致 SocialAuth.NET 库方法出现异常,因为它希望所有参数都在查询字符串中传递,因此登录过程失败(显然,在我这边 - 谷歌认为我已登录,因为它方面一切正常)

总之,我要问的是:为什么有时谷歌会通过POST而不是GET来回答我的服务器?我应该做些什么来避免这种情况,否则需要在SocialAuth.NET库中进行更改?

4

1 回答 1

0

到目前为止,我还没有遇到过 Google 的这个问题。它总是在查询字符串中返回信息。如果您能以某种方式确定复制的确切步骤,那就太好了。无论如何,如果您想修改库以检查 POST,那么您需要更改 Core/callbackHandler.cs 的 ProcessRequest 方法(可能是第 76 行)。

于 2012-12-11T05:38:18.327 回答