– 前提 –
- Google APIs Consoleにアプリケーションを登録してapp_idとapp_secretを取得しておく。コールバック用のURIは下記のように設定する。(Google用のStrategy内のREADMEに書いてある)
- modelやviewは自分で適当に用意する。
- gitを使っている前提で説明が書かれているのでgitを使った方が良さげ。(gitでインストールすれば想定しているディレクトリに関連ファイルを入れてくれる)
READMEの”How to use” に、Facebookで認証するサンプルが書かれているので、Facebook向けの記述を下記のようにGoogle用に書き換える。(Google以外の対応サービス一覧)
CakePHP plugin for Opauth
https://github.com/uzyn/cakephp-opauth
Google認証するには、ここを以下のように書く。
Plugin内のStrategyディレクトリにGoogle用のStrategyを入れる
コールバック用のパスは以下のように設定
(Google APIs ConsoleのRedirect URIsに以下を設定する)
Google認証するには下記にアクセスする
– 追記 –
YouTube APIを使いたい場合は、上記のStrategyの設定にscopeを追加してYouTubeのURLを加える。
以下は、デフォルトのscopeにYouTubeのURLを加えている。
– 追記 –
各コントローラではなく、AppController.phpにSecurityコンポーネントを読み込む設定を書いている場合、Opauthのコールバック時にセキュリティチェックに引っかかってしまう。
デフォルトの設定だと、Oauth認証後にOpauthのcallbackアクションで/users/opauth_complete/に飛ぶ、この時、データをPOSTで受け渡ししているので、SecurityComponentのチェックで引っかかる。
ひとまず、下記のSecurity部分を足すとチェックを回避できる。
OpauthController.php