タグ ‘ CodeIgniter

CodeIgniterでOpauthライブラリを使う

CodeIgniterでOAuthを使いFacebookなどの認証情報でログインする方法

  • destinomultimedia/ci_opauth から以下のファイルを自分の環境に持ってくる
    • application/libraries/Opauth 以下
    • application/config/ci_opauth.php

ci_opauth.php はURLを自分の環境に合わせて編集し、
自分が使うサービスの app_id, app_secret 的な物を設定する。

CodeIgniterで使うときは、callback_transportをsessionにすると、ダメでとりあえずpostなら動いた。

あとは、application/controllers/auth.php を参考に実装するだけ。

認証が通った後はCodeIgniter側のセッションで管理してあげればOKって言う感じかな。

CodeIgniter 2 + xajax 0.5

前にどっかの記事を参考にやったんだけど、その記事が消えてしまっていたので自分のためにmemo

CodeIgniterは展開済みとして、Xajaxをダウンロードして展開する。

xajax_core と言うディレクトリを、 xajax に変更し、 application/third_party へ配置
xajax_js と言うディレクトリは CodeIgniter の index.php と同じ場所に配置

xajax/xajax.inc.php を xajax/xajax.php に変更する。(コンストラクタ側のコードで対応)

CodeIgniterのコントローラ側では、コンストラクタに以下のコードを追加

include(APPPATH.'third_party/xajax/xajax.inc'.EXT);
// Xajax設定
$this->xajax = new xajax(base_url());
$this->xajax->configure("javascript URI", base_url());
//$this->xajax->configure("debug", true);
$this->xajax->register(XAJAX_FUNCTION, array('_func', $this, '_xajax_func'));
$this->xajax->processRequest();

メソッドは以下の感じ。

function _xajax_func() {
	$objResponse = new xajaxResponse();

	$objResponse->assign("foo", "innerText", $this->foo);
	$objResponse->call("hogehoge");
	return $objResponse;
}

ビューは以下の感じ

<body onload="xajax__func(); return true;">

ちなみに、xajax_js を違うところに配置する場合は、以下の2つのファイルの中のパスを書き換える必要があるっぽい。

  • xajax/xajax.php
  • xajax/plugin_layer/xajaxDefaultIncludePlugin.inc.php

PHPフレームワークにTwitter,Facebook等の認証を速攻実装できる「Opauth」:phpspot開発日誌

PHPフレームワークでいろんな認証を実装できるライブラリがあるらしい。

PHPフレームワークにTwitter,Facebook等の認証を速攻実装できる「Opauth」。

Zend、CakePHP、Symfony、CodeIgniter等のフレームワークに認証を入れる場合に是非参考にしたいライブラリ。

Facebook, Google, twitter, Linked.in の他、OAuth、OpenID などにも対応。Yahoo!JapanでOAuth等による認証ができますから、これで認証にまつわる処理はすべて実装できそう。

各サイトにおける認証の方法を都度実装するのは非効率ということで、こうしたライブラリで認証処理はサクっと終わらせちゃうのがよいですね。

引用元: PHPフレームワークにTwitter,Facebook等の認証を速攻実装できる「Opauth」:phpspot開発日誌.

アーカイブ

2017年2月
« 3月    
 12345
6789101112
13141516171819
20212223242526
2728