Google認証を使ってみる

dietcake advent calendar 2014 の20日目です。
簡単なアプリケーションを作るときは、Google認証を使って認証すると、面倒なアカウント作成画面を省く事ができるので便利です。
社内で Google Apps を使っている場合は、Google Apps側でアカウント管理がしっかりできていれば、退職時に
すみやかにサービスへのアクセスを遮断する事ができて良いです。

そこで、Google認証を実装するために必要な素材を dietcake-showcase にまとめました。
これを使えば既存の dietcake で書かれたシステムにGoogle認証を差し込む事ができます。

https://github.com/dietcake/dietcake-showcase/tree/google_auth/google_auth

リポジトリ内にあるファイルを、アプリケーションにコピーしたあと、composerで、google/apiclinet パッケージを入れれば準備完了です。
手順は以下のような感じです。

$ cp controllers/google_auth_controller.php YOURPROJECT/app/controllers/
$ cp models/google_auth.php YOURPROJECT/app/models/
$ cp config/google.php YOURPROJECT/app/config/
$ echo "require_once __DIR__ . '/google.php';" >> YOURPROJECT/config/core.php
$ cd YOURPROJECT
$ composer require google/apiclient

インストールが終わったら、callbackメソッド内で、ユーザー登録を行なう仕組みを追加してください。
devtoolでの処理内容をコメントアウトして残してあるので、これを参考にすると良いでしょう。

https://github.com/dietcake/dietcake-showcase/blob/google_auth/google_auth/controllers/google_auth_controller.php#L17

config 設定を見るとわかるのですが、GOOGLE_ALLOW_DOMAINS と、 GOOGLE_ALLOW_EMAILS を活用することで、特定のユーザーや組織だけを対象にする事ができます。
Google Appsで運用している場合は、そのドメイン名を GOOGLE_ALLOW_DOMAINS に設定する事で、社内のユーザーだけが利用できるようになります。

投稿者: halt

PHPプログラマ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ねこ認証:9つのパネルの中からねこを3匹選んでください