【发布时间】:2014-01-02 18:54:36
【问题描述】:
我对这里的 ZendFramework/ZendOAuth 库比较熟悉 https://github.com/zendframework/ZendOAuth
我可以在 Twitter 上使用它,但我不知道如何让它与 Google OAuth 2.0 一起使用。我尝试使用的代码如下:
$config = array(
'callbackUrl' => 'https://www.example.com/callback',
'siteUrl' => 'https://accounts.google.com/o/oauth2',
'userAuthorizationUrl' => 'https://accounts.google.com/o/oauth2/auth',
'requestTokenUrl' => 'https://accounts.google.com/o/oauth2/token',
'consumerKey' => 'MY-CONSUMER-KEY-HERE',
'consumerSecret' => 'MY-SECRET-KEY-HERE',
'version' => '2.0',
);
$scopes = array(
'https://www.googleapis.com/oauth2/v2/userinfo'
);
$consumer = new Consumer($config);
$token = $consumer->getRequestToken(array('scope' => implode('', $scopes), 'response_type' => 'code', 'redirect_uri' => 'https://www.example.com/callback'));
$consumer->redirect();
根据 ZendOAuth 的文档,getRequestToken 函数中的数组被视为自定义 OAuth 参数。但是,当我运行此代码时,我会被重定向到显示以下内容的 Google 页面:
缺少必需参数:response_type
浏览器中的网址显示如下:
我尝试在 ZendOAuth 库中抛出调试语句,但我似乎无法找到问题所在。
如果有人对此有解决方案,将不胜感激。
谢谢,
【问题讨论】:
标签: php oauth zend-framework2 oauth-2.0 google-oauth