我想實現的OpenID和我下載http://www.openidenabled.com/php-openid並從我拿起驗證文件夾改變任何東西爲localhost目錄,並創建了一個index.php文件,其代碼爲如下圖所示:如何實現OpenID的谷歌,雅虎和其他
<?php
if (!isset($_POST['submit'])) {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>OPENID TESTING</title>
</head>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Sign in with your OpenID: <br/>
<input type="text" name="id" size="30" />
<br />
<input type="submit" name="submit" value="Log In" />
</form>
</body>
</html>
<?php
} else {
// check for form input
if (trim($_POST['id'] == '')) {
die("ERROR: Please enter a valid OpenID.");
}
// include files
require_once "Auth/OpenID/Consumer.php";
require_once "Auth/OpenID/FileStore.php";
// start session (needed for YADIS)
session_start();
// create file storage area for OpenID data
$store = new Auth_OpenID_FileStore('./oid_store');
// create OpenID consumer
$consumer = new Auth_OpenID_Consumer($store);
// begin sign-in process
// create an authentication request to the OpenID provider
$auth = $consumer->begin($_POST['id']);
if (!$auth) {
die("ERROR: Please enter a valid OpenID.");
}
// redirect to OpenID provider for authentication
$url = $auth->redirectURL('http://localhost/', 'http://localhost/oid_return.php');
header('Location: ' . $url);
}
?>
現在,當我嘗試從worldpress填寫ID或myopenid.com被認可和幫我轉接到供應商頁面進行認證,但是這是不是與谷歌,雅虎或其他服務提供商的情況下發生的。我必須爲谷歌或雅虎實施
我試着添加'namePerson/first','namePerson/last'似乎無法與谷歌或雅虎(我收到的電子郵件和其他值)工作。任何想法爲什麼? – 2013-08-08 16:18:53