CakePHP配置HybidAuth谷歌提供商

时间:2015-05-01 08:01:04

标签: cakephp cakephp-2.0 cakephp-2.3 google-authentication hybridauth

我正在使用HybridAuth。我已经配置了vkontaknte和facebook提供商。现在我需要额外的一个 - 谷歌。

在我的配置hybridAuth的部分下面:

  'Google' => array ( 
          "enabled" => true,
          "keys"    => array ( "id" => "my_id", "secret" => "my_secret_key" ),
          "scope"           => "https://www.googleapis.com/auth/userinfo.profile ". // optional
                               "https://www.googleapis.com/auth/userinfo.email"   ,
          "logo"    => '/img/vk.png',
          "class"   => 'Vkontaktelogo',
          "redirect_uri" => 'http://urdk.ru/hybridauth/?hauth.done=google',    
      ),

一旦我按下登录" facebook"按钮,它将我重定向到谷歌并询问我的范围列表。没关系。但后来它将我重定向回网站,但登录尚未完成。

我把我的hybridAuth日志。你能问我出了什么问题吗?

日志在这里http://pastebin.com/J8G4htFj

Thx

1 个答案:

答案 0 :(得分:0)

我认为我的回答对那些使用CakePHP hybridAuth库的人来说很有用https://github.com/ADmad/CakePHP-HybridAuth/tree/cake2

1)设置Redirect URIs参数,其值为“http:/mydomain.com/hybrid_auth/hybrid_auth/endpoint?hauth.done = google”

2)在hybridauth.php(config)中为“redirect_uri”设置相同的值

3)转到app / Vendor / hybridauth / Hybrid / Providers / Google.php 找到字符串

   $this->api->curl_header = array("Authorization: OAuth " . $this->access_token);

并将其更改为

$this->api->curl_header = array("Authorization: OAuth " . $this->api->access_token);

这解决了一个问题。