我正在使用Google OAuth在我的Phonegap应用中集成google登录功能。会发生的事情是,在为我的应用创建客户端ID时,我必须选择"已安装的应用程序"然后应用程序类型为"其他"因为我正在使用Phonegap创建我的应用程序。
这为我提供了两个重定向URI,例如" urn:ietf:wg:oauth:2.0:oob
"和" http://localhost
"。我不选择" urn:ietf:wg:oauth:2.0:oob
"因为它要求用户复制代码并将其放回应用程序。我的另一个选项是重定向到localhost。
问题在于,当我在iPad上时,如何将URL重定向到localhost?我曾尝试使用不同的重定向URI,但谷歌并没有让我使用它们。它仅限于重定向到localhost(或添加一些端口号),我没有其他去。
有没有人对此有任何解决方法?有没有办法完成这项任务?我被卡住了。请帮忙。
答案 0 :(得分:4)
您也可以使用重写规则。
例如,我需要Google的这个回调:http://local.dev/users/login-google
所以我在Google控制台中设置了此网址:http://localhost/JUMP/local.dev/users/login-google
在apache中,一个简单的重定向:
RewriteEngine on
RewriteRule ^JUMP/(.+)$ http://$1 [R,L]
答案 1 :(得分:3)
我最近遇到了同样的问题。我还需要弄清楚Twitter API(answer found here)。
对于谷歌,我找到了两种方法来解决这个问题。
C:\xampp\htdocs\nozzle\callbacks\google.php
下,那么您在请求中(以及在Google API Console中)的重定向将是:http://localhost/nozzle/callbacks/google.php
Promblem已解决选项2需要更多解释。这是细分:
http://myapp.dev
)中。所以我需要另一个解决方案,让我仍然可以在vhost上进行本地开发,还可以向Google API发出请求。另外,我想你可以通过localhost地址而不是live地址执行相同的过程,但我还没有测试过。但是,如果您使用实时网站进行此操作,您的整个团队将能够从他们的本地虚拟主机发出相同的请求,只要它们也在http://myapp.dev
脚注:我使用socialmedia-oauth-login tool
访问Google API。