mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-27 07:09:56 +09:00
17515512: JanRain php-openid library included, normalization fix
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5137 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
f541dd59b9
commit
658c0e6dbc
219 changed files with 41415 additions and 10 deletions
205
modules/member/php-openid-1.2.3/examples/server/lib/session.php
Normal file
205
modules/member/php-openid-1.2.3/examples/server/lib/session.php
Normal file
|
|
@ -0,0 +1,205 @@
|
|||
<?php
|
||||
|
||||
require_once "config.php";
|
||||
require_once "lib/render.php";
|
||||
require_once "Auth/OpenID/Server.php";
|
||||
|
||||
/**
|
||||
* Set up the session
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
session_name('openid_server');
|
||||
session_start();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the style markup
|
||||
*/
|
||||
function getStyle()
|
||||
{
|
||||
$parent = rtrim(dirname(getServerURL()), '/');
|
||||
$url = htmlspecialchars($parent . '/openid-server.css', ENT_QUOTES);
|
||||
return sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the URL of the current script
|
||||
*/
|
||||
function getServerURL()
|
||||
{
|
||||
$path = $_SERVER['SCRIPT_NAME'];
|
||||
$host = $_SERVER['HTTP_HOST'];
|
||||
$port = $_SERVER['SERVER_PORT'];
|
||||
$s = $_SERVER['HTTPS'] ? 's' : '';
|
||||
if (($s && $port == "443") || (!$s && $port == "80")) {
|
||||
$p = '';
|
||||
} else {
|
||||
$p = ':' . $port;
|
||||
}
|
||||
|
||||
return "http$s://$host$p$path";
|
||||
}
|
||||
|
||||
/**
|
||||
* Build a URL to a server action
|
||||
*/
|
||||
function buildURL($action=null, $escaped=true)
|
||||
{
|
||||
$url = getServerURL();
|
||||
if ($action) {
|
||||
$url .= '/' . $action;
|
||||
}
|
||||
return $escaped ? htmlspecialchars($url, ENT_QUOTES) : $url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the current action from the request
|
||||
*/
|
||||
function getAction()
|
||||
{
|
||||
$path_info = @$_SERVER['PATH_INFO'];
|
||||
$action = ($path_info) ? substr($path_info, 1) : '';
|
||||
$function_name = 'action_' . $action;
|
||||
return $function_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Write the response to the request
|
||||
*/
|
||||
function writeResponse($resp)
|
||||
{
|
||||
list ($headers, $body) = $resp;
|
||||
array_walk($headers, 'header');
|
||||
header(header_connection_close);
|
||||
print $body;
|
||||
}
|
||||
|
||||
/**
|
||||
* Instantiate a new OpenID server object
|
||||
*/
|
||||
function getServer()
|
||||
{
|
||||
static $server = null;
|
||||
if (!isset($server)) {
|
||||
$server =& new Auth_OpenID_Server(getOpenIDStore());
|
||||
}
|
||||
return $server;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return whether the trust root is currently trusted
|
||||
*/
|
||||
function isTrusted($identity_url, $trust_root)
|
||||
{
|
||||
// from config.php
|
||||
global $trusted_sites;
|
||||
|
||||
if ($identity_url != getLoggedInUser()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (in_array($trust_root, $trusted_sites)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$sites = getSessionSites();
|
||||
return isset($sites[$trust_root]) && $sites[$trust_root];
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a hashed form of the user's password
|
||||
*/
|
||||
function hashPassword($password)
|
||||
{
|
||||
return bin2hex(Auth_OpenID_SHA1($password));
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the user's login information
|
||||
*/
|
||||
function checkLogin($openid_url, $password)
|
||||
{
|
||||
// from config.php
|
||||
global $openid_users;
|
||||
$hash = hashPassword($password);
|
||||
|
||||
return isset($openid_users[$openid_url])
|
||||
&& $hash == $openid_users[$openid_url];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the openid_url out of the cookie
|
||||
*
|
||||
* @return mixed $openid_url The URL that was stored in the cookie or
|
||||
* false if there is none present or if the cookie is bad.
|
||||
*/
|
||||
function getLoggedInUser()
|
||||
{
|
||||
return isset($_SESSION['openid_url'])
|
||||
? $_SESSION['openid_url']
|
||||
: false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the openid_url in the cookie
|
||||
*
|
||||
* @param mixed $identity_url The URL to set. If set to null, the
|
||||
* value will be unset.
|
||||
*/
|
||||
function setLoggedInUser($identity_url=null)
|
||||
{
|
||||
if (!isset($identity_url)) {
|
||||
unset($_SESSION['openid_url']);
|
||||
} else {
|
||||
$_SESSION['openid_url'] = $identity_url;
|
||||
}
|
||||
}
|
||||
|
||||
function setSessionSites($sites=null)
|
||||
{
|
||||
if (!isset($sites)) {
|
||||
unset($_SESSION['session_sites']);
|
||||
} else {
|
||||
$_SESSION['session_sites'] = serialize($sites);
|
||||
}
|
||||
}
|
||||
|
||||
function getSessionSites()
|
||||
{
|
||||
return isset($_SESSION['session_sites'])
|
||||
? unserialize($_SESSION['session_sites'])
|
||||
: false;
|
||||
}
|
||||
|
||||
function getRequestInfo()
|
||||
{
|
||||
return isset($_SESSION['request'])
|
||||
? unserialize($_SESSION['request'])
|
||||
: false;
|
||||
}
|
||||
|
||||
function setRequestInfo($info=null)
|
||||
{
|
||||
if (!isset($info)) {
|
||||
unset($_SESSION['request']);
|
||||
} else {
|
||||
$_SESSION['request'] = serialize($info);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function getSreg($identity)
|
||||
{
|
||||
// from config.php
|
||||
global $openid_sreg;
|
||||
|
||||
if (!is_array($openid_sreg)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $openid_sreg[$identity];
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue