ソーシャル ログイン アクションに Yii フレームワークと HybridAuth を使用しています。Google と yahoo は正常に動作しますが、Facebook と Twitter を動作させることはできません。
そのために Https:// ドメインが必要ですか? それとも、追加する構成だけですか?
Facebook または Twitter を使用してログインしようとすると、次の PHP 警告が表示されます。
include(DefaultController.php) [function.include]: ストリームを開けませんでした: そのようなファイルやディレクトリはありません
エラーは vendors\yii_1.1.10\YiiBase.php(418) に表示されます:
{
407 foreach(self::$_includePaths as $path)
408 {
409 $classFile=$path.DIRECTORY_SEPARATOR.$className.'.php';
410 if(is_file($classFile))
411 {
412 include($classFile);
413 break;
414 }
415 }
416 }
417 else
418 include($className.'.php');
419 }
420 else // class name with namespace in PHP 5.3
421 {
422 $namespace=str_replace('\\','.',ltrim($className,'\\'));
423 if(($path=self::getPathOfAlias($namespace))!==false)
424 include($path.'.php');
425 else
426 return false;
427 }
428 return class_exists($className,false) || interface_exists($className,false);
429 }
430 return true;
ここに私の主な設定ファイルがあります
'modules'=>array('admin',
'hybridauth' => array(
'baseUrl' => 'http://'. $_SERVER['SERVER_NAME'] . '/hybridauth',
'withYiiUser' => false, // Set to true if using yii-user
"providers" => array (
"yahoo" => array (
"enabled" => true
),
"google" => array (
"enabled" => true,
"keys" => array ( "id" => "[private]", "secret" => "[private]" ),
"scope" => ""
),
"facebook" => array (
"enabled" => true,
"keys" => array ( "id" => "[private]", "secret" => "[private]" ),
"scope" => "email,publish_stream",
"display" => ""
),
"twitter" => array (
"enabled" => true,
"keys" => array ( "key" => "[private]", "secret" => "[private]" )
)
)
)
),