1

私は現在、Web ベースのメール サービスに取り組んでいます (これは完全なメール クライアントではありませんが、説明することがたくさんあります)。ただし、これまで oauth を使用したことはありませんでしたが、進むべき道のように思えます。サンプル コードに基づいて単純なクラスを作成しました。ただし、サンプル コードでは、何度かサインインしても解決策が提供されないか、見逃してしまいました。

したがって、基本的に私の問題は、ログインするたびにgmailを再度承認する必要があることですが、一度それを行う他のサービスを見た後、サインインするだけで、再度承認せずにすぐにリダイレクトされます.

編集:明確にするために、ログインとIMAPの両方にoauthを使用していますが、これはばかげていますか? 私のアプリが実際にoauthを介してGoogleアプリimapを中心にしているとき、OpenIDとoauthの両方を同じユーザーに接続するのは奇妙に思えるので、それが最善の方法でした。私は tangle.me がこのように機能すると思います。そこで一度承認するだけでよく、次に Google が即座に私をリダイレクトしたときに、アプリをそのように機能させたいと考えています。

Edit2:さらに検索したところ、認証は初めてのようで、認証を使用する必要があります。英語は私の母国語ではないため、同じことを意味していました。したがって、アカウントを既に作成したユーザーが再度ログインしたときに、毎回新しいトークンを生成する必要がないように、Google で認証する方法について質問があります。

4

2 に答える 2

5
require_once './oauth/apiClient.php';
require_once './oauth/contrib/apiPlusService.php';
$client = new apiClient();
$client->setApplicationName("Name");
$client->setScopes(array('https://www.googleapis.com/auth/plus.me'));
$client->setApprovalPrompt (auto);

...デフォルトで apiClient は approval_prompt を「強制」に設定するため、最後のものは問題を解決します

これが誰かを助けることを願っています

于 2012-08-10T15:32:40.057 に答える
0

Google API を使用すると、1 回限りの認証 Cookie を永続的な認証 Cookie に変えることができます。この新しい永続的な認証 Cookie をデータベースまたはどこかに保存すると、毎回新しい認証 Cookie を生成する代わりに、その特定のユーザーに使用できます。

このようなもの:

$client = new Zend_Gdata_HttpClient();
$client->setAuthSubPrivateKeyFile('key.pem', null,false);
$uri = Zend_Gdata_AuthSub::getAuthSubTokenUri($next, $scope, $secure, $session)
$gCalToken = Zend_Gdata_AuthSub::getAuthSubSessionToken(trim($uri),$client);
于 2011-05-05T08:32:55.320 に答える