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 基本的なメール送信のサンプルコードです。

CakePHP3

CakePHP3 DebugKitを非表示にする方法

CakePHP3 DebugKit(デバッグキット)を非表示にする方法。 ◯ 「config/bootstrap.php」ファイルの最終行にあるDebugKit設定を変更する。 [crayo …

CakePHP3

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

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

CakePHP3

CakePHP3 ログのパーミッション変更方法

CakePHP3 ログ(Log)のパーミッション変更方法です。 ◯ 「config/app.php」ファイルのLog定義に『mask』追記 ※ logs/debug.log&nbs …




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