В codeigniter, как получить токен, возвращаемый из логина Google в качестве параметра для контроллера? - PullRequest
0 голосов
/ 23 февраля 2012

Я работаю с AuthSub для просмотра портфолио API Google Finance на Codeigniter Framework.

после успешного входа в Google он перенаправляет на URL-адрес, который мы предоставляем.

Я предоставил URL как:www.finance.mysite.com/google/token/

Google добавит свой токен как:

www.finance.mysite.com/google/token/?token=1/gyXbtvKT4XaIuUIhEBAsuxyDgATMDk3ztAG3MocNkKI

Как я могу получить его внутри функции token () внутри контроллера Google.

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Я не знаю, что у вас есть контроль над тем, "как" это вам это дает. Для параметра контроллера вам нужно будет перенаправить после того, как обратный вызов Auth «выдаст» вам токен. Это, вероятно, не является необходимым, поскольку вы можете просто извлечь его из строки запроса.

<?php
$token = $this->input->get('token');
if ($token)
{
    // Option 1: redirect to a controller action that
    //           takes the token as the parameter
    redirect('/google/token/'.$token);

    // Option 2: do something directly with the token
    //           right now (why bother redirecting?)
    var_dump($token);
    exit;
}
die('Access token? We didn\'t get no access token!');
?>

Хранение токена в сеансе или базе данных является альтернативой перенаправлению, но перенаправление будет таким, как «получить токен в качестве параметра для контроллера», как вы просите.

0 голосов
/ 27 февраля 2012

Просто извлеките токен и направьте его к контроллеру по вашему выбору.Вы можете извлечь параметры следующим образом:

$params = "http://www.finance.mysite.com/google/token/?token=1/gyXbtvKT4XaIuUIhEBAsuxyDgATMDk3ztAG3MocNkKI";
$parsed = parse_url($params);
$pieces = explode("=", $parsed['query']);
$searchIndex = array_search("token", $pieces);
if($searchIndex) {
    $token = $pieces[$searchIndex+1];
    //now use it as you need
    redirect("controller/google/$token");
}

Примечание. Приведенный выше код будет работать только в том случае, если в URL есть только один параметр или нет.

...