AuthSub による認証AuthSub を使用すると、ウェブアプリケーションで Google Data サービスへのアクセスのための認証ができるようになります。 ユーザの認証情報を処理するコードを自分で書く必要はありません。 Google Data AuthSub 認証についての詳細は、 » http://code.google.com/apis/accounts/AuthForWebApps.html を参照ください。 Google のドキュメントでは、ClientLogin 方式は "インストールするアプリケーション" に適しており、一方 AuthSub は "ウェブアプリケーション" に適しているとされています。 これらの違いは、AuthSub はユーザとのやりとりが発生するということです。 ブラウザのインターフェイスを用いて、リクエストのリダイレクトを行います。 ClientLogin では PHP のコードでアカウント情報を提供します。 ユーザが直接認証情報を入力する必要がなくなります。 AuthSub の場合の認証情報は、ウェブアプリケーションのユーザが入力します。 つまり、認証情報をユーザが知っておく必要があります。
AuthSub 認証済みの Http クライアントの作成あなたの作成した PHP アプリケーションで、認証を行う Google URL へのハイパーリンクを提供しなければなりません。そのためには 静的関数 Zend_Gdata_AuthSub::getAuthSubTokenUri() を使用します。この関数の引数には、あなたの作成した PHP アプリケーションの URL を指定します。それにより、ユーザ認証の後に Google からもとの場所にリダイレクトされるようになります。 Google の認証サーバからアプリケーションに戻ってくる際に、 token という名前の GET パラメータが設定されます。 このパラメータの値は、認証されたアクセスに使用する single-use トークンとなります。 このトークンを multi-use トークンに変換し、セッションに保存します。 そしてそのトークンの値は使用して Zend_Gdata_AuthSub::getHttpClient() をコールします。この関数は Zend_Http_Client のインスタンスを返します。このインスタンスには適切なヘッダが設定されており、 後でこの HTTP クライアントを使用して送信したリクエストは認証済みのものとなります。 以下の例は、PHP のウェブアプリケーションのコードです。 Google Calendar サービスに対する認証を行い、 認証済みの HTTP クライアントを使用して Zend_Gdata クライアントオブジェクトを作成します。
AuthSub 認証の解除指定したトークンによる認証状態を終わらせるには、静的関数 Zend_Gdata_AuthSub::AuthSubRevokeToken() を使用します。そうしないと、このトークンはいつまでも有効なままになります。
|
|