예제 #1
0
파일: webid.lib.php 프로젝트: sgml/rww.io
function webid_verify($q = null)
{
    if (is_null($q)) {
        $q = webid_claim();
    }
    if (isset($q['uri'])) {
        foreach ($q['uri'] as $uri) {
            foreach (webid_query($uri) as $elt) {
                if ($q['e'] == $elt['e']['value'] && $q['m'] == strtolower(preg_replace('/[^0-9a-fA-F]/', '', $elt['m']['value']))) {
                    return $uri;
                }
            }
        }
    }
    return '';
}
예제 #2
0
파일: runtime.inc.php 프로젝트: sgml/rww.io
if (file_exists(dirname(__FILE__) . '/config.inc.php')) {
    require_once dirname(__FILE__) . '/config.inc.php';
}
# init user ID
$_user = $_user_name = '';
if (!isset($_SERVER['REMOTE_USER'])) {
    $_SERVER['REMOTE_USER'] = '';
}
foreach (array($_SERVER['REMOTE_USER'], sess('u:id')) as $_user) {
    if (!is_null($_user) && strlen($_user)) {
        break;
    }
}
if (isset($_SERVER['SSL_CLIENT_CERT'])) {
    require_once 'webid.lib.php';
    $q = webid_claim();
    if (isset($q['uri']) && $q['uri'] != $_user) {
        $_user = webid_verify($q);
        $_webid = webid_getinfo($_user);
        if (DEBUG) {
            openlog('RWW.IO', LOG_PID | LOG_ODELAY, LOG_LOCAL4);
            syslog(LOG_INFO, 'Authenticated: ' . $_user . ' / ' . $_webid['name']);
            closelog();
        }
        //if (!isSess('u:name'))
        sess('u:name', $_webid['name']);
        //if (!isSess('u:pic'))
        sess('u:pic', $_webid['pic']);
        if (strlen($_user) && isset($_SERVER['SSL_CLIENT_S_DN_CN'])) {
            $_user_name = $_SERVER['SSL_CLIENT_S_DN_CN'];
        }
예제 #3
0
파일: webid.php 프로젝트: sgml/rww.io
 *  Copyright (C) 2013 RWW.IO
 *  
 *  Permission is hereby granted, free of charge, to any person obtaining a copy
 *  of this software and associated documentation files (the "Software"), to deal 
 *  in the Software without restriction, including without limitation the rights 
 *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
 *  copies of the Software, and to permit persons to whom the Software is furnished 
 *  to do so, subject to the following conditions:
 *  The above copyright notice and this permission notice shall be included in all 
 *  copies or substantial portions of the Software.
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
 *  INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
 *  PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 
 *  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 
 *  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 
 *  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
require_once '../runtime.php';
require_once 'webid.lib.php';
header('Content-type: text/plain');
$claim = webid_claim();
if (isset($i_uri)) {
    $claim['uri'][] = $i_uri;
}
$query = array();
foreach ($claim['uri'] as $elt) {
    $g = new Graph('uri', $elt, '', $elt);
    $query[$elt] = array('triples' => $g->size(), 'bindings' => webid_query($elt, $g));
}
$r = array('claim' => $claim, 'query' => $query, 'verified' => webid_verify());
print_r($r);