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「TwitterOAuth」でダイレクトメッセージ(DM)を送信する

CakePHP3 ライブラリ「TwitterOAuth」で自分のTwitterアカウントにダイレクトメッセージ(DM)を送信する。 ◯ ライブラリ「TwitterOAuth」インストール [ …

CakePHP3

CakePHP3 フラッシュメッセージの設定・表示方法

CakePHP3 デフォルトでフラッシュメッセージ用のテンプレートが3つ用意されています。

◯ フラッシュメッセージ設定(コントローラ …

CakePHP3

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

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

◯ Composerセットア …

CakePHP3

CakePHP3 基本ディレクトリ構成

CakePHP3の基本ディレクトリ構成(インストール直後)です。

CakePHP3

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

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




記事が役立ったら「投げ銭」してもらえると嬉しいです♪
0x28eb75414278F32e388509Cce2929EB8e5987634