目前我正在使用PHP Slim框架版本3,我想 使用Facebook或谷歌帐户登录。
我创建了一个facebook开发者帐户,并在我的代码中使用了api id和密钥。
下面是我的php slim框架代码
@Html.ListBoxFor(m => m.SelectedCompanyList, new MultiSelectList(Model.Companies, "Id","CompanyName", Model.SelectedCompanyList), new {@class = "listbox"})
条件转到其他部分
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
require 'src/facebook.php';
$app = new \Slim\App;
$facebook = new Facebook(array(
'appId' => '1277740795608952',
'secret' => 'c9e0d242e62a82374a043ff286526db7',
));
$app->get('/', function () use ($facebook) {
$user_id = $facebook->getUser();
if($user_id) {
try {
$user_profile = $facebook->api('/me');
echo "Hi " . $user_profile['name'];
} catch(FacebookApiException $e) {
echo 'Please <a href="' . $facebook->getLoginUrl() . '">login.</a>';
}
} else {
echo 'Please <a href="' . $facebook->getLoginUrl() . '">login with Facebook.</a>';
}
});
$app->run();
?>
并且我一直得到用户ID
login with facebook
我不知道我忘记了什么,任何人都知道更多吗?
答案 0 :(得分:0)
尝试把它放在行前:“$ user_id = $ facebook-&gt; getUser();”
$req_perms = "publish_stream,offline_access,user_status,email,read_stream";
$session = $facebook->getSession();
$loginUrl = $facebook->getLoginUrl(array('canvas'=>1,'fbconnect' => 0,'req_perms'=>$req_perms));
if (!$session) { echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";exit;}