我正在尝试测试OAuth按钮,但它们(Facebook、Twitter、LinkedIn)都返回错误,似乎表明我无法从 本地 URL 测试或使用它们。
如果人们似乎都需要非开发 和 非本地 连接环境,那么人们通常如何使用 OAuth 进行开发?
2016 年 10 月更新 :现在最简单:使用总是指向 的lvh.me127.0.0.1,但请确保每次需要调用它时验证这仍然是正确的(因为域可能会过期或被接管,并且 DNS 中毒始终是一个问题)
127.0.0.1
上一个答案 :
由于回调请求是由浏览器发出的,因此作为 HTTP 重定向响应,您可以设置您的 .hosts 文件或等效文件以指向不localhost指向 127.0.0.1 的域。
localhost
例如,您在 Twitter 上注册了以下回调:http://www.publicdomain.com/callback/. 确保www.publicdomain.com在您的 hosts 文件中指向 127.0.0.1,并且 twitter 可以在www.publicdomain.com上进行成功的 DNS 查找,即该域需要存在,并且如果请求,特定的回调应该可能返回 200 状态消息。
http://www.publicdomain.com/callback/
www.publicdomain.com
编辑 :
我刚刚阅读了以下文章:http ://www.tonyamoyal.com/2009/08/17/how-to-quickly-set-up-a- test-for-twitter-oauth-authentication-from-your-local -machine,从这个问题链接到:Twitter oAuth callbackUrl - localhost development。
引用文章:
您可以使用 URL 缩短服务 bit.ly。只需缩短 [localhost URL 例如 http//localhost:8080/twitter_callback] 并将缩短的 URL 注册为 Twitter 应用程序中的回调。
这应该比在 .hosts 文件中摆弄更容易。
请注意,现在(2014 年 8 月)bit.ly 不允许将链接转发到本地主机;但是谷歌链接缩短器有效。
PS 编辑:(18 年 11 月):Google 链接缩短器停止支持 localhost 或 127.0.0.1。