Line | |
---|
1 | <?php |
---|
2 | /** |
---|
3 | * @copyright 2005-2008 OpenPNE Project |
---|
4 | * @license http://www.php.net/license/3_01.txt PHP License 3.01 |
---|
5 | */ |
---|
6 | |
---|
7 | require_once 'Auth/OpenID/Server.php'; |
---|
8 | require_once 'Auth/OpenID/FileStore.php'; |
---|
9 | |
---|
10 | class openid_page_auth extends OpenPNE_Action |
---|
11 | { |
---|
12 | function isSecure() |
---|
13 | { |
---|
14 | return false; |
---|
15 | } |
---|
16 | |
---|
17 | function execute($requests) |
---|
18 | { |
---|
19 | $oserver =& new Auth_OpenID_Server(new Auth_OpenID_FileStore(OPENPNE_VAR_DIR . '/tmp')); |
---|
20 | $request = $oserver->decodeRequest(); |
---|
21 | |
---|
22 | $response = null; |
---|
23 | if (in_array($request->mode, array('checkid_immediate', 'checkid_setup'))) { |
---|
24 | if ($request->immediate) { |
---|
25 | $response = $request->answer(false); |
---|
26 | } |
---|
27 | } else { |
---|
28 | $response = $oserver->handleRequest($request); |
---|
29 | } |
---|
30 | |
---|
31 | if ($response) { |
---|
32 | $webresponse = $oserver->encodeResponse($response); |
---|
33 | |
---|
34 | foreach ($webresponse->headers as $k => $v) { |
---|
35 | header("$k: $v"); |
---|
36 | } |
---|
37 | header('Connection: close'); |
---|
38 | echo $webresponse->body; |
---|
39 | exit; |
---|
40 | } |
---|
41 | |
---|
42 | if ($auth = openpne_ext_search("openid/auth.inc")) { |
---|
43 | require_once $auth; |
---|
44 | } else { |
---|
45 | require_once 'auth.inc'; |
---|
46 | } |
---|
47 | |
---|
48 | if ($requests['id'] != $GLOBALS['AUTH']->uid()) { |
---|
49 | exit('error'); |
---|
50 | } |
---|
51 | |
---|
52 | $_SESSION['request'] = serialize($request); |
---|
53 | return 'success'; |
---|
54 | } |
---|
55 | } |
---|
56 | |
---|
57 | ?> |
---|
Note: See
TracBrowser
for help on using the repository browser.