В настоящее время я пытаюсь создать страницу единого входа, на которой после входа пользователя с помощью Facebook или Google+ пользователь будет перенаправлен на страницу провайдера, а затем после успешного входа он будет перенаправлен обратно на сайт index.php
. Теперь проблема в том, что я хочу знать, есть ли способы проверить, есть ли у пользователя логин. Например, когда пользователь входит в систему, кнопка входа должна измениться на «Выйти». Могу ли я знать, как это сделать. Заранее спасибо.
<nav id="menu"> <!-- Navigation -->
<ul id="tabs"> <!-- unordered list -->
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="contact.html">Contact Us</a></li>
<li><a href="login.php">Login</a></li>
<ul class="nav navbar-nav navbar-right" >
<li style="float:right;list-style-type:none;">
<a class="janrainEngage" href="#">
<img src="<?php echo $_GET['photo']; ?> " height="30" width="30"/>
<?php echo $_GET['name'];?>
</a>
</li>
</ul>
</ul>
</nav>
Это мой код login.php:
<?php
// Below is a very simple and verbose PHP script that implements the Engage
// token URL processing and some popular Pro/Enterprise examples. The code below
// assumes you have the CURL HTTP fetching library with SSL.
require('helpers.php');
ob_start();
// PATH_TO_API_KEY_FILE should contain a path to a plain text file containing
// only your API key. This file should exist in a path that can be read by your
// web server, but not publicly accessible to the Internet.
$janrain_api_key = trim(file_get_contents('apiKey.txt'));
// Set this to true if your application is Pro or Enterprise.
$social_login_pro = false;
// Step 1: Extract token POST parameter
$token = $_POST['token'];
if ($token) {
// Step 2: Use the token to make the auth_info API call.
$post_data = array(
'token' => $token,
'apiKey' => $janrain_api_key,
'format' => 'json'
);
if ($social_login_pro) {
$post_data['extended'] = 'true';
}
$curl = curl_init();
$url = 'https://rpxnow.com/api/v2/auth_info';
$result = curl_helper_post($curl, $url, $post_data);
if ($result == false) {
curl_helper_error($curl, $url, $post_data);
die();
}
curl_close($curl);
// Step 3: Parse the JSON auth_info response
$auth_info = json_decode($result, true);
if ($auth_info['stat'] == 'ok') {
echo "\n auth_info:";
echo "\n"; var_dump($auth_info);
// Pro and Enterprise API examples
if ($social_login_pro) {
include('social_login_pro_examples.php');
}
// Step 4: Your code goes here! Use the identifier in
// $auth_info['profile']['identifier'] as the unique key to sign the
// user into your system.
//echo '<pre>'.print_r($auth_info).'</pre>';
$name = $auth_info['profile']['displayName'];
$address = $auth_info['profile']['address']['formatted'];
$photo = $auth_info['profile']['photo'];
$redirect = "http://localhost:8012/cm0655-assignment/index.php?photo=".$photo;
header('Location: '.$redirect);
} else {
// Handle the auth_info error.
output('An error occurred', $auth_info);
output('result', $result);
}
} else {
echo 'No authentication token.';
}
$debug_out = ob_get_contents();
ob_end_clean();
?>
<html>
<head>
<title>Janrain Token URL Example</title>
</head>
<body>
<pre><?php echo $debug_out; ?></pre>
</body>
</html>