はじめに
前回、データストア利用の基本について説明をしましたが、「あれ、GAEのサービスって、データベースだけしかないのか?」と思われたかもしれません。もちろん、そんなことはありません。他にもさまざまな機能があります。
データストアの次に重要となるのは「認証」機能でしょう。また、Gmailによるメール送信なども役に立ちます。
対象読者
- JSPを書くのは正直しんどい...と近頃感じる人
- Ruby on Railsスタイルの開発に興味があるという人
- MVCフレームワークをJavaで学びたいという人
- JavaによるGoogle App Engineプログラミングに興味がある人
Userによる認証
まずは、認証機能から説明しましょう。Googleのさまざまなサービスは、そのほとんどが「Googleアカウントによる認証」によって個人の識別をするようになっています。Googleアカウントを作成すると、GmailやGoogleカレンダー、Googleドキュメントなどのサービスが使えるようになりますが、これらもすべてGoogleアカウントによるユーザー認証を利用しているのです。
GAEでは、このGoogleアカウントによる認証をそのまま自分のアプリケーション内で利用できます。GAE/J(Google App Engine Java版)に用意されている認証に関する主な機能を整理すると、次のようになるでしょう。
- ログイン状態のチェック:GAE/Jには「
UserService
」というクラスが用意されており、これを利用して、ユーザーがログインしているかどうか、あるいは管理者かどうかなどを調べることができます - ユーザー情報の取得:GAE/Jでは、ログインしているユーザーは「
User
」というクラスのインスタンスとして管理されます。これにより、ユーザーのニックネームやメールアドレスなどの登録情報を調べることができます - ログイン/ログアウト用ページへのリダイレクト:認証が必要なページでは、例えば「ログインしていなければログインページに飛ばす」というような処理がよく用いられます。GAE/Jでは、ログインページやログアウトのアドレスを取得し、そこにリダイレクトして強制的にログイン・ログアウトさせることができます
これらの機能は、com.google.appengine.api.users
というパッケージにまとめられています。ここにあるクラスの基本的な使い方が分かれば、認証は簡単に利用できます。