Escreva isso no useraccess.php
<?php
session_start();
echo 'User is: ' . $_SESSION['admin']['fname'] . ' ' . $_SESSION['admin']['lname'];
?>
Pergunta
Atualmente estou implementando LightOpenid. Está funcionando parcialmente, mas estou tendo dificuldades para redirecionar os usuários enquanto mantém as credenciais. O exemplo abaixo tem o login do usuário no Google e, em seguida, supostamente redireciona para uma página de acesso ao usuário, onde exibe seu nome. Nada está sendo exibido no userAccess.php. Como posso redirecionar o usuário com suas credenciais do OpenID corretamente
login.php
<?php
# Logging in with Google accounts requires setting special identity, so this example shows how to do it.
session_start();
require 'openid.php';
try {
$openid = new LightOpenID('http://mydomain.com'); // akshat - declared an object of class lightopenid.. this is listed in openid.php
if(!$openid->mode) {
if(isset($_GET['login'])) {
$openid->identity = 'https://www.google.com/accounts/o8/site-xrds?hd=mydomain.com'; //this can be changed as you know...
$openid->required = array('namePerson/friendly', 'contact/email' , 'contact/country/home', 'namePerson/first', 'pref/language', 'namePerson/last'); // akshat - line added by me from after reading from the net....
header('Location: ' . $openid->authUrl());
}
?>
<script type="text/javascript">
//change to jquery so it is compatible with cross browsers
window.onload=function(){
document.getElementById("lform").submit();
}
</script>
<form name="form" id="lform" action="?login" method="post"> </form>
<?php
} elseif($openid->mode == 'cancel') {
echo 'User has canceled authentication for Your Domain !';
} else { // FETCH USER INFO HERE
$fname = $openid->ret_fname(); // fetching user first name...
$lname = $openid->ret_lname(); // fetching user last name...
$email = $openid->ret_email(); // fetching user email...
$lang = $openid->ret_lang(); // fetching user language...
session_start();
// use it as required. I set them in session !
$_SESSION['admin']['emailID'] = $email; //put email id in session.
$_SESSION['admin']['fname'] = $fname; //put first name also in session.
$_SESSION['admin']['lname'] = $lname; //put last name also in session.
header("Location: www.example.com/useraccess.php"); // Go back to the calling application !
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
?>
userAccess.php
<?php
session_start();
echo 'User is: ' . $fname . ' ' . $lname;
?>
Solução
Escreva isso no useraccess.php
<?php
session_start();
echo 'User is: ' . $_SESSION['admin']['fname'] . ' ' . $_SESSION['admin']['lname'];
?>