使用Google进行身份验证而不使用重定向

时间:2012-04-12 09:33:42

标签: php codeigniter oauth google-api

我一直在通过php中的Google身份工具包实施OAuth登录。我已经获得了经过身份验证的会话,用户数据,身份证,照片等,这似乎或多或少都有效。

但是,我希望能够使用不依赖于用户浏览器重定向的方法进行登录(考虑应用程序的远程API),但是如何实现这一点却有点失落。

想象一下这样的请求:

$details = new stdClass();

$details->secret        = $config->secret;
$details->client_id     = $config->client_id;
$details->app_name  = 'my awesome oauth app';

$details->login              = array();
$details->login['email']     = 'some google account email @ example.com';
$details->login['password'] = '1234'; 

$token = $this->do_auth($details);

if($token) {
    // do stuff, setup cookies, insert token in session table etc
}

我正在使用CodeIgniter。有没有可以做到这一点的图书馆..?我已经看到Android应用程序在做类似的事情,使用自定义登录表单,所以我猜它可以在php中实现。

1 个答案:

答案 0 :(得分:2)

你必须重定向,这是OAuth工作方式的核心要素,没有办法解决这个问题。这就是为什么有一个redirect_uri参数。

您只需执行此操作一次:当用户登录并且您正在请求访问令牌时。之后,您只需使用curl来请求您的数据。

相关问题