我目前正在使用一个库(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库中进行更改?