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 バージョン確認方法は2つあります。 ① コマンド

② VERSION.txt [crayon-5becc0a4c5e …

CakePHP3

CakePHP3 命名規則(モデル・ビュー・コントローラー)の例

CakePHP3の命名規則(モデル・ビュー・コントローラー)例です。 例①「https://cakephp3.com/articles」にアクセス ※ 下記が自動的に使われる [crayon …

CakePHP3

CakePHP3 ファイルキャッシュ活用してサイト高速化する方法

CakePHP3 ファイルキャッシュ(File Cache)を活用してサイト高速化する方法です。 ※ ファイルキャッシュはローカルファイルを使用するシンプルなキャッシュ方法です。 …

CakePHP3

CakePHP3 Shell(シェルスクリプト)に引数を渡す方法

CakePHP3 Shell(シェルスクリプト)に引数を渡す方法です。

Shell(シェルスクリプト)をコマンドプロンプトから実行 [ …

CakePHP3

CakePHP3 ControllerとTemplateに管理者用(admin)ディレクトリ作成する方法

CakePHP3 ControllerとTemplateに管理者用(admin)ディレクトリ作成する方法です。 ex) URL「/admin/logins/」 ◯「config/routes.php」 …