CakePHP OAuth с Google - PullRequest
       3

CakePHP OAuth с Google

13 голосов
/ 05 января 2012

Я хотел бы использовать Google OAuth в своем приложении cakePHP, чтобы пользователи могли войти в свою учетную запись Google.Я посмотрел на следующий компонент: http://code.42dh.com/oauth/.Почему-то я не могу его запустить и работать.Я не знаю, что я делаю не так.Я зарегистрировал свое заявление в регистрационной форме Google и получил свой Ключ потребителя и Секрет потребителя.Я добавил это в потребительский компонент.Я до сих пор не могу заставить его работать.

Вот мой код:

<?php

class ExampleController extends AppController {
public $uses = array();
var $helpers = array('Javascript', 'Ajax');
public $components = array('OauthConsumer');

public function google() {

    $scope = "https://www.google.com/m8/feeds/";
    $REQUEST_TOKEN_URL = 'https://www.google.com/accounts/OAuthGetRequestToken?scope=' . urlencode($scope);

    $requestToken = $this->OauthConsumer->getRequestToken('Google', $REQUEST_TOKEN_URL, 'http://mydomain.com/example/google_callback');
    $this->Session->write('google_request_token', $requestToken);
    $this->redirect('https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=' . $requestToken->key);
}

public function google_callback() {
    $requestToken = $this->Session->read('google_request_token'); 
    $accessToken = $this->OauthConsumer->getAccessToken('Google',   'https://www.google.com/accounts/OAuthGetAccessToken', $requestToken); 

 }
 }

 ?>

Когда я пытаюсь запросить запрос, я получаю ответы: "подпись недействительна".

Кто-то использовал Google OAuth в своем приложении cakePHP и хотел бы дать мне несколько советов?

Ответы [ 3 ]

6 голосов
/ 05 января 2012

Я думаю, что проблема заключается в строке запроса в URL-адресе токена запроса.Попробуйте следующее:

$REQUEST_TOKEN_URL = 'https://www.google.com/accounts/OAuthGetRequestToken';
$requestToken = $this->OauthConsumer->getRequestToken('Google', $REQUEST_TOKEN_URL, 'http://mydomain.com/example/google_callback', 'GET', array('scope' => 'https://www.google.com/m8/feeds'));
0 голосов
/ 12 октября 2016

Проверьте наличие обновленного учебника и плагина CakePHP 3:

0 голосов
/ 16 октября 2014

Вы забыли открытый ключ доступа API и URL-рефереры, которым разрешено устанавливать соединение с вашим идентификатором клиента и секретным ключом ...

Создайте публичный доступ к API и добавьте его в свои настройки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...