GAEを利用する最大の利点は、Googleのサービスを利用できることです。GAE/PHPで利用できるGoogleサービスについて説明をしていきましょう。まずは「
Googleアカウント」の利用についてです。
Googleでは、さまざまなサービスを「
Googleアカウント」という一つの統一したアカウントシステムで管理しています。GAEで、ユーザーのログインが必要なとき、このGoogleアカウントによるログインを利用することができます。
GAEでは、PHPからGoogleアカウントによるログインシステムを利用するためのAPIが用意されており、これをPHP内から読み込むことで使えるようになります。では、利用の方法を簡単に整理しましょう。
●ライブラリの読み込みrequire_once 'google/appengine/api/users/UserService.php';
●クラスの利用(名前空間の使用)use google\appengine\api\users\User;
use google\appengine\api\users\UserService;
Googleアカウント関連の機能は、
google/appengine/api/users/UserService.phpというファイルにまとめられています。これを読み込むことで、Googleアカウント関連の機能が使えるようになります。
用意されているのは「
UserService」と「
User」という2つのクラスです。GAEのクラスは名前空間を使って整理されていますので、利用する際には、
useを使い、この2つのクラスをクラス名で利用できるようにしておくのがよいでしょう。
■Open IDについて
通常、GAEのサービスではGoogleアカウントによるログインが基本ですが、オプションとして
Open IDを使ったログインも利用可能になっています。ただし、これはAPIとして用意されているわけではなく、GAEのアプリケーション作成時に設定する必要があります。
GAEコンソール(
https://appengine.google.com/)で「
Create Application」ボタンを押して新たにアプリケーションを作成するとき、アプリケーションの設定の中に「
Authentication Options (Advanced):」という項目が用意されているはずです。ここで、「
(Experimental) Open to all users with an OpenID Provider」を選択してください。これで、そのアプリケーションではOpen IDによるログインが可能となります。
Open ID利用の場合でも、作成するスクリプトは通常のGoogleアカウントの場合とまったく同じです。スクリプト側からは、両者の違いを意識する必要は全くありません。