已安装的应用程序重定向uri在正在使用localhost的实时站点上不匹配

时间:2015-12-16 15:40:54

标签: php wordpress oauth-2.0 google-analytics-api google-authentication

我开发了一个谷歌分析插件,在身份验证上获取URI不匹配错误。 在localhost上运行良好,但是当我在网站上安装它时,它会显示此错误。

我在身份验证期间在浏览器地址栏上创建的重定向uri

显示错误uri不匹配

  

https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=auto&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics.readonly&response_type=code&redirect_uri=http%3A%2F%2Fapp.mysite.com%2Fwp-admin%2Fadmin.php%3Fpage%3Danalytica-admin-settings%2F&client_id=id.apps.googleusercontent.com&include_granted_scopes=true&hl=en&from_login=1&as=6532dbe8b26fcb0f&authuser=3

并在 localhost之类的东西上运行

  

https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=auto&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics.readonly&response_type=code&redirect_uri=http%3A%2F%2Fhttp://localhost/test/%2Fwp-admin%2Fadmin.php%3Fpage%3Danalytica-admin-settings%2F&client_id=id.apps.googleusercontent.com&include_granted_scopes=true&hl=en&from_login=1&as=6532dbe8b26fcb0f&authuser=3

bot的唯一区别就是重定向URI,一个是本地主机,另一个是实时主机。

使用“urn:ietf:wg:oauth:2.0:oob”作为重定向URI以及用于身份验证的弹出窗口在实际站点上的本地站点上正常工作。但我提到的URL是在localhost上工作,但不在现场工作。

关于文档choosing a redirect uri for insatlledApp

** http://localhost[:port]

此值向Google授权服务器发出信号,表明授权代码应作为查询字符串参数返回给客户端上的Web服务器。要使用此URL接收授权代码,您的应用程序必须在本地Web服务器上进行侦听。这可以在许多(但不是所有)平台上进行。如果您的平台支持,这是获取授权代码的推荐机制。 **这是否意味着我们只能在localhost上使用它?但是我使用了一些使用redirecturi进行授权的插件。

任何人都可以为我或任何想法提供解决方案,我是如何实现这一目标的。

这就是我在这里设置重定向uri的方式。

$client->setRedirectUri( site_url() . '/wp-admin/admin.php?page=analytica-admin-settings');

已安装的应用程序不需要在控制台上设置重定向uri。 检查截图 enter image description here

0 个答案:

没有答案