2012-04-12 12 views
0

私はPHPでGoogle Identityツールキットを使用してOAuthログインを実装しています。認証されたセッション、ユーザデータ、ID、写真などを取得しています。これは多かれ少なかれ動作しているようです。リダイレクトを使用しないでGoogleとの認証

しかし、ユーザーのブラウザでリダイレクトに依存しない方法(アプリケーションのリモート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のを使用しています:

のようなものである要求を想像してみてください。これを行うことができるライブラリはありますか?私はカスタムログインフォームを使って同様のことをしているアンドロイドアプリを見てきました。だから私はそれがPHPで達成可能であると推測しています。

答えて

2

あなたはリダイレクトする必要があります.OAuthの仕組みの中核をなすもので、これを回避する方法はありません。そのため、redirect_uriパラメータがあります。

これは、ユーザーがログインしているときにアクセストークンを要求しているときに一度だけ行う必要があります。その後、単にデータを要求するためにcurlを使用します。

+0

これは一日中遊んでいて、これも実現しました:)それは非常にクールなシステムですが、何らかのブラウザのことが起こるという要求はかなり面倒です。人々がアプリの中に登録してもらいたいのであれば、想像してみてください。多くの合併症。文脈については、多くの助けとなったこの記事が見つかりました:http://softwareas.com/oauth-openid-youre-barking-up-the-wrong-tree-if-you-think-theyre-the-same-thing – dmp

関連する問題