duanmu2015 2012-04-12 09:33
浏览 110
已采纳

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

I've been implementing an OAuth login via the Google Identity toolkit in php. I've got as far as getting an authenticated session, the userdata, id, photo etc, which seems to be working more or less ok.

However, I'd like to be able to login using methods that don't rely on redirection on the user's browser (thinking of remote APIs for an application), but bit lost on how to achieve this.

Imagine a request which is something like:

$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
}

I'm using CodeIgniter. Are there any libraries that can do this..? I've seen android apps doing similar things, using custom login forms, so I'm guessing it's achievable in php.

  • 写回答

1条回答

  • dongta5747 2012-04-12 15:59
    关注

    You HAVE to redirect, it's a core essential of the way OAuth works, there is no way around this. That's why there is a redirect_uri parameter.

    You only have to do this once though: when the user is logging in and you are requesting an access token. After that, you simply use curl for example to request your data.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面