Я использую LightOpenID, и в то время как это очень легкий, это не очень легко понять, и он не имеет вики ...простые OpenId в PHP
Пример файла они дают ниже (извините за удлиненный пост), что я не понимаю, почему он дважды создает экземпляр LightOpenID?
require 'openid.php';
try {
if(!isset($_GET['openid_mode'])) { // what is this about?
if(isset($_POST['openid_identifier'])) {
$openid = new LightOpenID;
$openid->identity = $_POST['openid_identifier'];
header('Location: ' . $openid->authUrl());
}
?>
<form action="" method="post">
OpenID: <input type="text" name="openid_identifier" /> <button>Submit</button>
</form>
<?php
} elseif($_GET['openid_mode'] == 'cancel') {
echo 'User has canceled authentication!';
} else {
$openid = new LightOpenID;
echo 'User ' . ($openid->validate() ? $openid->identity . ' has ' : 'has not ') . 'logged in.';
}
} catch(ErrorException $e) {
echo $e->getMessage();
}
Я пытаюсь добавить его в существующий сценарий here если кто-то действительно чувствует себя полезным. Как я могу сделать так, чтобы, когда $ openid-> validate() возвращает true, я могу сохранить $ sql_answer в базе данных?
Посмотрите здесь. Я дал изменения, которые вам нужно сделать здесь. [http://stackoverflow.com/questions/3179193/php-lightopenid-how-to-fetch-account-data-from-provider/5270929#5270929](http://stackoverflow.com/questions/3179193/php- lightopenid-хау к выборкам-счет-данные-от-поставщика/5270929 # 5270929) –