SlideShare a Scribd company logo
1 of 15
Opauthライブラリによる
                        Twitter,Facebook認証について
                     2013-03-23 FuelPHP勉強会 東京 資料


Twitter:@mycb750
Blog:http://to-developer.com/blog
まずはOAuthとは?
対象アプリケーションの認証を代理に行ってくれる認証プロ
トコル。
代理プロバイダは信頼度が高くなくてはいけない。主に
Facebook,Twitter,Googleが対応
メリット:
ID・PWを直接預けないこと、 事前にアプリに渡す権限を確
認できるためセキュアな認証になる
OAuthの動作構成
                  コンシュマーキーとコンシュマ
                  シークレットを送信

  OAuthサービス                           Oauth対応
   プロバイダ                            アプリケーション

                  承認されたトークンを受取る



ID:                    アプリケーションにアクセス
                                          ユーザはアプリケーションへ
                                          正式リダイレクト
PW:


ユーザの意思でアプリ認証の   アプリケーションは一度承認を得ると
   「同意」を行う                             ユーザ
                  ユーザの意思での拒否または
                  期限が切れるまでの間は、
                トークンを使用してログインが続く
                  ※承認処理は基本初回のみ
Opauthとは
  OAuthをPHPで実装することは比較的簡単に実装可能であ
  るが更に簡単に実装できるライブラリがOpauthである。

    実装は5分
公式サイト
http://opauth.org/
Opauth対象のフレームワーク
   FuelPHP (maintained by andreoav)
   vanilla (plain) PHP applications (of course)
                                                       提供している開発者が違うため、
   CakePHP (maintained by uzyn)                    フレームワークにより実装方法が違った
   CodeIgniter (maintained by destinomultimedia)     り改善されていないバグなどがある
                                                           場合がありそう
   CodeIgniter (maintained by mcatm)
   Laravel (maintained by FakeHeal)
   PrestaShop (maintained by Onasusweb)
   Silex (maintained by icehero)
   Yii Framework (maintained by kahwee)
   Zend Framework 2 (maintained by lorenzoferrarajr)
対象プロバイダ
   Bitbucket        fancyguy/opauth-bitbucket
   Disqus           rasa/opauth-disqus
   Do     pocket7878/opauth-do
   Facebook         opauth/facebook
   Flickr pocket7878/opauth-flickr
   Foursquare       pocket7878/opauth-foursquare
   GitHub           opauth/github
   Google           opauth/google
   Instagram        muhdazrain/opauth-instagram
   LinkedIn         opauth/linkedin
   (Windows) Live opauth/live
   mixi ritou/opauth-mixi
   OpenID           opauth/openid
   PayPal           24hours/opauth-paypal
   Sina Weibo (新浪微博)            dgrabla/opauth-sinaweibo
   Twitter          opauth/twitter
   VKontakte        dgrabla/opauth-vkontaktp
   Yahoo! Japan     ritou/opauth-yahoojp
OpauthのFuelPHP取り込み情報

FuelPHPコード:https://github.com/andreoav/fuel-opauth

上記サイトのREADMEの通りで実装可能

技術ブログから参考
Facebook認証実装:http://to-developer.com/blog/?p=424
Twitter認証実装:http://to-developer.com/blog/?p=455
Opauth実装(今回はFacebook)
実装方法:
1.Facebook管理者ページの設定
2.プロジェクトにOpauthライブラリを取り込む
3.opauth.php設定ファイルの作成
4.config.phoの設定
5.コントローラファイルの作成
※「2.」以降は公式サイトREADMEに書いてある4手順
1.Facebook管理者ページの設定
 Facebook開発者ページからアプリ登録を行い、「AppID
  「App Secret」を取得する。
 [Facebookでログインするウェブサイト]の[Webサイト]
  は手順5で作成するController_AuthクラスのAction_Login
  メソッドにストラテジ文字列を引数としたアドレスがロ
  グインページとなるので以下のようにする。
 http://[サイトパス]/auth/login/facebook/
 ※ローカル環境の実行の場合はlocalhostで問題なし
 今回「http://localhost/basedemo/auth/login/facebook/」
  を設定する
Developer:https://developers.facebook.com/apps
2.プロジェクトにOpauthライブラ
リを取り込む
・Gitからcloneで取得
cd basedemo/fuel/packages/
git clone git://github.com/andreoav/fuel-opauth.git opauth

※zipファイルでダウンロードしてフォルダをパッケージ配
 下に配置しても同様
3.opauth.pho設定ファイルの作成
opauth/config/opauth.phpを/fuel/app/config/へコピーする

 ここで「1」でopauth.phpへ取得した「AppID「App
 Secret」を設定する

今後プロバイダを追加する場合にはこのファイルへプロバ
 イダを追加すれば良い
4.config.phpの設定

 Config.phpにopauthをパッケージとして読み込む設定を
 する
5.コントローラファイルの作成
auth.phpを[/fuel/app/classes/controller]へ新規作成する
動作確認
「http://[ドメイン名]/[アプリ名など]/auth/login/facebook/」
 を実行してfacebookのログインページに遷移すればOK。
 あとはログインして完了すると「OK: Auth response is
 validated.」が表示されれば成功。
 画面上はfacebookからのレスポンス情報が表示される
最後に
その他ストラテジの追加は下記公式サイトよりストラテ
ジファイルをダウンロードして配置して、config設定を
行い多少修正すれば、さらに早く実装が可能
 個人的にはFacebook,Twitterを実装しました。
 ※ブログ参考
 Opauthライブラリの場合、認証以外のAPI呼び出し等
を実装する場合には自前で用意する必要がある。
 この他にもライブラリは存在するため、いろいろ調べ
てから使うのが良いかと思います。
 ただ実装の速度では他のライブラリよりも早いはずで
す。

More Related Content

What's hot

everevo × Open Graph
everevo × Open Grapheverevo × Open Graph
everevo × Open GraphTetsuwo OISHI
 
Novius os chiba の紹介
Novius os chiba の紹介Novius os chiba の紹介
Novius os chiba の紹介Fumito Mizuno
 
ビデオ映像配信入門 第1回(WordPress東京勉強会)
ビデオ映像配信入門 第1回(WordPress東京勉強会)ビデオ映像配信入門 第1回(WordPress東京勉強会)
ビデオ映像配信入門 第1回(WordPress東京勉強会)Atsushi Ogisawa
 
Cómo subir un vídeo de Youtube a Blogger
Cómo subir un vídeo de Youtube a BloggerCómo subir un vídeo de Youtube a Blogger
Cómo subir un vídeo de Youtube a Bloggertrinidadlm
 
はじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for WindowsはじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for WindowsKatsumi Honda
 

What's hot (6)

everevo × Open Graph
everevo × Open Grapheverevo × Open Graph
everevo × Open Graph
 
【第1.5回勉強会】後編 alfrescoの基本操作
【第1.5回勉強会】後編 alfrescoの基本操作【第1.5回勉強会】後編 alfrescoの基本操作
【第1.5回勉強会】後編 alfrescoの基本操作
 
Novius os chiba の紹介
Novius os chiba の紹介Novius os chiba の紹介
Novius os chiba の紹介
 
ビデオ映像配信入門 第1回(WordPress東京勉強会)
ビデオ映像配信入門 第1回(WordPress東京勉強会)ビデオ映像配信入門 第1回(WordPress東京勉強会)
ビデオ映像配信入門 第1回(WordPress東京勉強会)
 
Cómo subir un vídeo de Youtube a Blogger
Cómo subir un vídeo de Youtube a BloggerCómo subir un vídeo de Youtube a Blogger
Cómo subir un vídeo de Youtube a Blogger
 
はじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for WindowsはじめてのPython - 開発環境の準備 for Windows
はじめてのPython - 開発環境の準備 for Windows
 

Similar to Opauthライブラリによるtwitter,facebook認証について

OpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to ActionOpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to ActionTatsuo Kudo
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth TestRyo Ito
 
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2脇村 隆
 
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門leverages_event
 
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 Takahiro Kujirai
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうkenji4569
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いRyo Ito
 
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜Hirokazu Egashira
 
Google+APIをさわってみる。
Google+APIをさわってみる。Google+APIをさわってみる。
Google+APIをさわってみる。Hiroyuki Nozaki
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideTatsuo Kudo
 
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTsubasa Yoshino
 
20201008 GitHub at Microsoft
20201008 GitHub at Microsoft20201008 GitHub at Microsoft
20201008 GitHub at MicrosoftIssei Hiraoka
 
Login facebook
Login facebookLogin facebook
Login facebookJun Chiba
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面KentaEndoh
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hackyut148atgmaildotcom
 
ちゃんと理解するForce.com canvas
ちゃんと理解するForce.com canvasちゃんと理解するForce.com canvas
ちゃんと理解するForce.com canvasHiroshi Nakamura
 
About Chrome web store
About Chrome web storeAbout Chrome web store
About Chrome web storeknj77
 

Similar to Opauthライブラリによるtwitter,facebook認証について (20)

PFI Seminar 2012/02/24
PFI Seminar 2012/02/24PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
 
OpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to ActionOpenID TechNight Vol. 11 - Call to Action
OpenID TechNight Vol. 11 - Call to Action
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth Test
 
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
第四回Web apiを使ってwebアプリケーションを作る勉強会テキスト2
 
Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門Behatで行う、E2Eテスト入門
Behatで行う、E2Eテスト入門
 
Yahoo! JAPANでのHadoop利用について
Yahoo! JAPANでのHadoop利用についてYahoo! JAPANでのHadoop利用について
Yahoo! JAPANでのHadoop利用について
 
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
 
Google App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろうGoogle App EngineでTwitterアプリを作ろう
Google App EngineでTwitterアプリを作ろう
 
Gaeja20121130
Gaeja20121130Gaeja20121130
Gaeja20121130
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
 
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
 
Google+APIをさわってみる。
Google+APIをさわってみる。Google+APIをさわってみる。
Google+APIをさわってみる。
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
 
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメTokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
Tokyo Jazug Night 2020-01 Azure Monitor を使った運用監視コトハジメ
 
20201008 GitHub at Microsoft
20201008 GitHub at Microsoft20201008 GitHub at Microsoft
20201008 GitHub at Microsoft
 
Login facebook
Login facebookLogin facebook
Login facebook
 
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
 
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
配布用Dotcloudによるすぐ始めるtwitterwebアプリ開発#twtr hack
 
ちゃんと理解するForce.com canvas
ちゃんと理解するForce.com canvasちゃんと理解するForce.com canvas
ちゃんと理解するForce.com canvas
 
About Chrome web store
About Chrome web storeAbout Chrome web store
About Chrome web store
 

Opauthライブラリによるtwitter,facebook認証について