sch*_*d04 8 oauth twitter-oauth facebook-oauth google-oauth
我已经看到了关于此的其他问题(这里,这里,这里),但我对任何解决方案都不满意,所以我再问一遍.我正在启动一个Web应用程序,它将利用来自多个提供商(Google,Facebook,Twitter,Yahoo)的OAuth进行身份验证.我正在努力寻找适合用于本地开发环境和生产环境的配置.
我发现的主要解决方案是在每个提供商中注册多个应用程序,为每个提供商接收不同的消费者密钥和秘密:
"我的应用程序生产" - 带有http://www.myapp.com/callback的回调URI
"我的应用程序开发" - 带有http://local.myapp.com/callback的回调URI
添加到您的本地主机入口文件指向local.myapp.com到127.0.0.1和你的应用程序使用基于环境的正确消费键一些配置,你是好去,对不对?
但我的应用程序是响应式的,我需要测试我的PC上运行的开发环境,从我的iPhone和iPad等多个其他设备运行,这两个设备都无法解析开发回调URI.
假设我的网络上已有DNS服务器,并且能够为其添加条目local.myapp.com而不是我的本地主机文件,现在可以从网络上的任何设备访问我的开发实例.
但我的开发团队都在同一个本地网络上运行.现在local.myapp.com指向每个人的相同IP.让我们回到在每个开发人员的计算机上设置hosts文件,这样他们就可以独立于工作站内工作.现在没有人可以再次从他们的iPhone测试他们的开发实例.对于每个开发人员而言,向提供者注册应用程序似乎不是正确的答案,因此他们可以指定唯一的回调URI.
通常情况下,当我在杂草中找到一个看似简单的问题的复杂解决方案时,通常意味着我做了一些根本错误的事情.我错过了关于OAuth的一些内容,是不是打算像这样使用?我很想完全废弃OAuth,只需要使用OpenID(不需要注册应用程序注册,并且可以在应用程序中指定回调URI),但后来我失去了Facebook和Twitter中的两个重要人物.我真的不需要任何用户的数据,如果它可用,那就太好了.有人能跟我说说OAuth吗?
我发布了有关我编写的 Rails 应用程序的以下答案:
这是一个名为 Figaro 的 gem,它为 google OAuth2 执行每个环境配置。
| 归档时间: |
|
| 查看次数: |
4399 次 |
| 最近记录: |