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 Shell(シェル)プログラムのサンプルコード

CakePHP3 Shell(シェル)プログラムのサンプルコードです。 ※ LinuxコマンドプロンプトからShell実行して、MSG「Shellテスト」を表示する [crayon-6508 …

CakePHP3

CakePHP3 コマンドプロンプトからキャッシュ削除する

CakePHP3.3以降のCLIキャッシュ削除コマンドです。 ◯ キャッシュ削除コマンド一覧

CakePHP3

CakePHP3 リンク切れチェックツールのサンプルコード(Shell)

CakePHP3 リンク切れチェックツールのサンプルコード(Shell)です。 ● サンプルコードの処理 ・配列に設定されたチェック対象URLリストをループ処理する。 ・リダイレクト(301 …

CakePHP3

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

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

CakePHP3

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

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




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