CakePHP3 Tips

CakePHP3歴 1年のWEBエンジニアの備忘メモです。ブログ内容はCakePHP3.5 (PHP7.1) で検証しています。

CakePHP3

CakePHP3 Opauthソーシャルログイン実装 (Yahoo!・Facebook・Google・Twitter)

投稿日:

◯ はじめに
CakePHP3でソーシャルログイン実装(4プロバイダ)しようとしたら、Railsに比べてプラグイン(Gem)がまったくなくて、絶望しながら調査したメモです。

CakePHP2で開発終わってる・・・
Opauth plugin for CakePHP2

◯ Opauthとは?!
Opauthは、RailsのOmniAuthに触発されて、PHPアプリケーションを複数プロバイダに対応したマルチ認証フレームワークです。

◯ Opauth 対応ログインプロバイダ

Opauthで大手のプロバイダは網羅可能。
また、各プロバイダ毎の戻り値の差分を吸収してくれる。
ex) 名(first_nameとして統一): given_nameが返ってきてもfirst_nameとしてパラメータ取得可能

◯ CakePHP3にOpauth実装メモ
CakePHP3用のプラグイン(Opauth)がなかったので、plain用を使う。

 ① Opauth本体ダウンロード
※ ダウンロードしたフォルダ中のlib配下「Opauth」フォルダをCakePHP3の「plugins」フォルダ配下にコピーする。

 ② 各プロバイダのファイルをOpauthトップページからダウンロード
※ Available strategiesのDownload「ZIP」をクリックする。

 ③ ②のダウンロードしたフォルダ名を変更し「plugins/Opauth/Strategy」フォルダ配下にコピー
※ Twitterの場合、フォルダ名「opauth-twitter-xxxxxxx」を「Twitter」に変更し、「plugins/Opauth/Strategy」フォルダ配下にコピーする。

 ④ 各プロバイダ毎のAPIキーファイル「plugins/Opauth/config.php」ファイル作成
※ ex) Yahoojp/ Facebook / Google / Twitter
※ 各プロバイダ毎のAPIキーセットする
★「Opauth」のサンプルフォルダ

 ⑤ CakePHP3にOpauth用のコントローラー作成「src/Controller/AuthController.php」

 ⑥「/auth/twitter」にアクセスし認証成功すると、Twitterからの取得情報が表示される

-CakePHP3
-, , , , , , ,

執筆者:


comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

CakePHP3

CakePHP3 本番環境用にデバッグモード無効にする方法

CakePHP3 本番環境用にデバッグモード無効(エラー・警告メッセージ非表示)にする方法。 ◯ 「config/app.php」ファイルの先頭行にあるdebug設定を変更する。 [cray …

CakePHP3

CakePHP3 DebugKitでSQLログを確認する方法

CakePHP3 DebugKitでSQLログと実行速度を確認にする方法。 ※ フッターバーにあるDebugKitの『Sql Log』をクリックすると、実行SQLと実行速度(Took[ms] …

CakePHP3

CakePHP3 bakeコマンドについて

bakeコマンドを使うと、モデル(Model) / ビュー(Template) / コントローラー(Controller)などの雛形ファイルを自動生成することができる。 ※Railsのrakeコマンド …

CakePHP3

CakePHP3 基本的なメール送信のサンプルコード

CakePHP3 基本的なメール送信のサンプルコードです。

CakePHP3

CentOS6.9にCakePHP3.5インストールする方法

CentOS6.9にCakePHP3.5インストールする方法です。 ◯ システム要件

◯ Composerセットア …