Website login with Yahoo account been posted at :
Website Login with Yahoo Account in my previous post, yahoo openid identify url been changed.
please use the following new OpenID URL for yahoo in order to work.
NEW Yahoo OpenID URL:
http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds
<?php session_start();
# Logging in with Google accounts requires setting special identity, so this example shows how to do it.
require 'require/openid.php';
try {
# Change 'localhost' to your domain name.
$openid = new LightOpenID('demos.w3lessons.com');
$openid->required = array(
'namePerson',
'namePerson/first',
'namePerson/last',
'contact/email',
);
if(!$openid->mode) {
if(@$_GET['auth']=="google")
{
$_SESSION['auth']="Google";
$openid->identity = 'https://www.google.com/accounts/o8/id';
header('Location: ' . $openid->authUrl());
}elseif(@$_GET['auth']=="yahoo")
{
$_SESSION['auth']="Yahoo";
$openid->identity ='http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds';
header("Location:".$openid->authUrl());
}
} elseif($openid->mode == 'cancel') {
echo 'User has canceled authentication!';
} else {
$external_login=$openid->getAttributes();
$_SESSION['name']=$external_login['namePerson/first']." ".$external_login['namePerson/last'];
$_SESSION['email']=$external_login['contact/email'];
header("Location:account-home.php");
exit();
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
?>
View the Updated New Demo & Download
|