FuelPHPで作ったサイトのTwitter認証が動かなくなってました
git submodule update ぐらいでなんとかなるだろうなんて思ってましたがなんともならなかったので修正しました(^_^;)
fuel/packages/oauthを更新
ninjauthはfuel-oauthを使ってtwitter認証をしているのでまずはこちらを更新
https://github.com/fuel-packages/fuel-oauth
と思いましたが1年以上更新されておらず、twitter api 1.1にも対応していないのでforkされているところから取ってきます
e-g-kangaroo/fuel-oauth · GitHub
fuel/packages/oauthのリモートリポジトリを変更
~~~
cd fuel/packages/oauth
git remote set-url origin https://github.com/e-g-kangaroo/fuel-oauth
git pull origin master
~~~
これでAPIには対応出来ましたが返り値が変わったようでninjauth側でエラーが・・
めんどくさいのでこっちは強引に直します
fuel/packages/ninjauthを修正
fuel/packages/ninjauth/classes/strategy.phpの108行目でエラーが出るので下記のように修正
~~~
@@ -89,7 +89,8 @@ abstract class Strategy
switch ($this->name)
{
case ‘oauth’:
– $user_hash = $this->provider->get_user_info($this->consumer, $token);
+ $user_hash = (array) $this->provider->get_user_info($this->consumer, $token);
+ $user_hash[‘uid’] = $user_hash[‘id’];
break;
case ‘oauth2’:
~~~
これで無事?直りました
こういう時のためにpackageを使っているのに対応方法が残念であります(´Д`)
コメント