SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Google App Engine for Javaを使ってみよう!

Google App Engine for Javaを使ってみよう!
(3)Google Accounts Java API

Google App Engine for Javaを使ってみよう! (3)

Google Appsと連動させてみる

 この節は、独自ドメインでGoogle Appsを運用している方が対象となります。記事としては完全に独立していますので、興味のない方は読み飛ばして頂いて問題ありません。また読み進めるにあたって、独自ドメインで利用しているDNSの設定(CNAMEレコード)を変更できるスキルが必要です。

 Google Appsと連動させることで、Google App Engineに2つの機能を追加できます。

  • Google Apps(自分)でアカウントを管理する機能(この場合、Google Accountsのアカウントは認証できなくなります)
  • 独自ドメインでGoogle App Engineを運用する機能

 Google Appsと連動させて独自ドメインでサービスを運用する場合、利用する認証を「Google Appsで管理する方法」と、「Google Accountsで管理してもらう方法」の2種類があります。

 Google AppsのアカウントをGoogle App Engineの認証に利用したい場合には、Google App Engineに登録しているアプリケーションの設定を変更する必要があります。

注意

 2009年4月19日 時点では、アプリケーション登録時に認証方法を設定できますが、途中から設定を変更する方法が用意されていません。そのため、Google Appsのアカウントを認証に利用したい場合、アプリケーションを新規に登録する必要があります。

Google Appsのアカウントで認証できるように設定する

 Google App Engineの「My Applications」のページから、[Create an Application]をクリックします。

 「アプリケーション名(サブドメイン名)」と「アプリケーション名」を入力し、下のほうにある[Edit]リンクをクリックします。

 [Restricted to the following Google Apps domain]にチェックを入れます。入力ボックスにGoogle Appsのドメイン名を入力し、[Save]をクリックします。

 「Application Registered Successfully」と表示されていれば、登録完了です。これで、Google App Engineの認証と、私の管理している「daisukeyamashita.com」ドメインで動いているGoogle Appsのアカウントが連動します。

 今回の記事で作成した認証アプリケーションを今作成したアプリケーション領域にデプロイしてアクセスしてみましょう。[GAccountTestServlet]-[login]とクリックし、認証ページがGoogle Appsの認証ページになっていることを確認します。(私の場合、Usernameの入力ボックスの下に@daisukeyamashita.comと書かれており、@gmail.comのユーザはこのサービスにログインできないことが分かります)。

 確認ができたら、Google Appsで管理しているアカウントでログインします。

 Google Appsのアカウントでログインでき、認証ドメインを表す[domain]がdaisukeyamashita.comになっているが確認できます。

独自ドメインの設定をする

 この設定には、DNSの設定(CNAMEレコード)を変更できるスキルが必要です。

 独自ドメインは、「Google App Engine」と「Google Apps」のどちらからでも設定することが可能ですが、今回はGoogle App Engineから独自ドメインを設定する方法を勉強します。

Google App Engineから独自ドメインを設定する

 Google App EngineのAdmin Consoleにアクセスし、独自ドメインで運用したいアプリケーション名をクリックし、左のメニューにある[Versions]をクリックします。独自ドメインを設定するために[Add Domain...]をクリックします。

 [Domain Name]に自分が管理しているGoogle Appsのドメイン名を入力し、[Add Domain...]をクリックします。

 Google Appsの管理者アカウントでログインします。

 Google App Engineのアプリケーションを追加するか聞かれますので、利用規約を読み、同意できたら、[I accept. Continue to add this service.]にチェックを入れ[Activate this service]をクリックします。

 これで、Google App EngineとGoogle Appsが連動しました。この時点では、まだappspot.comからしかアクセスできませんので、アプリケーションにサブドメインを割り当てる必要があります。[Add new URL]をクリックします。

 好きなサブドメインを入力し、[Add]をクリックします。ここで入力するサブドメインが他のサービスで利用していないことに十分注意して下さい。

 このページに記載されている通りに、DNSのCNAMEレコードを変更すると、先ほど入力したサブドメインでサービスにアクセスできるようになります(ここでは、「先ほど入力したサブドメイン」が「ghs.google.com」を参照するようにCNAMEレコードを変更するように指示されている)。

 DNSの設定が完了したら、[I've completed these stemps]をクリックします。

 先ほど指定したサブドメインを含むURLが記載されていることを確認したら、そのURLをクリックしてアプリケーションにアクセスしてみましょう。

うまく動かない場合は

 DNSが正しく反映されるまで時間のかかる環境もあると思いますので、ページが見つからない場合は少し時間を置いてから確認してみましょう。

まとめ

 今回は認証機能を勉強しましたが、いかがでしたでしょうか? 今回の記事で、Google App EngineのGoogle Accounts Java APIは簡単に利用できるにも関わらず、非常に強力であるということが分かっていただけたかと思います。

 自分の作ったウェブサービスが、Google Accountsにアカウントを持っている、非常に多くのユーザに利用してもらえる可能性があると考えただけでもワクワクしてきませんか?

 前回のImages Java APIと同じく、認証にGoogle Accounts Java APIを利用する必要はなく、Pure Javaで実装されたライブラリを利用することもできますので、興味のある方は、OpenIDなどに対応してみるのも面白いかもしれません。

参考資料

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Google App Engine for Javaを使ってみよう!連載記事一覧

もっと読む

この記事の著者

山下 大介(ヤマシタ ダイスケ)

  京都大学を中心とした、産官学共同プロジェクトのSOBAプロジェクトに参加後、同プロジェクトで開発したP2P配信によるVoIP技術を2005年に商業化。オープンソース、VoIP、P2P、クラウドコンピューティングに精通。趣味はGoogleの追っかけ。現在は、株式会社SOBAプロジェクト取締役。ブログ:『~ ミネルヴァの梟は黄昏とともに飛び始める ~』所属:株式会社SOBAプロジェクトGoogle Developer Day 2008サポーター, 2009サポーターGoogle App Engine API Expert

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3840 2009/04/28 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー