今回はCakeDC/Usersを使ってGoogleアカウントでのログインを実現するやり方を紹介します
プラグインのインストール
1 |
composer require league/oauth2-google:@stable |
マイグレーション
bootstrap.phpに以下を追加
1 2 |
Configure::write('Users.config', ['users']); Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]); |
追加後マイグレーションを実行
1 |
bin/cake migrations migrate -p CakeDC/Users |
実装
AppController.phpに以下を追加
1 2 3 4 5 6 7 8 |
public function initialize() { parent::initialize(); // // ... // $this->loadComponent('CakeDC/Users.UsersAuth'); } |
config/users.phpに以下を追加
1 2 3 4 5 6 |
'Users.Social.login' => true, 'OAuth.providers.google.options.clientId' => 'CLIENT_ID_HERE', 'OAuth.providers.google.options.clientSecret' => 'SECRET_HERE', ]; return $config; |
これでPHP側の実装は完成
Google API側の実装
①Google+ API有効にする
②認証情報から認証情報作成、OAuthクライアントIDをクリック
③ウェブアプリケーションを選択
④名前と承認済みの JavaScript生成元(http://×××の形)、承認済みのリダイレクト URI(http://×××/auth/google、パブリック IP アドレスは指定できません)
⑤作成をクリック
⑥作成された認証情報からクライアントIDとクライアント シークレットを取得して上記のusers.phpの該当部分に置き換える
以上で完成!!あっという間にできますね