aboutsummaryrefslogtreecommitdiff
path: root/mod/oauth_api/vendors/oauth/example/server/core
diff options
context:
space:
mode:
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-15 03:46:37 +0000
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>2011-03-15 03:46:37 +0000
commit6c8c03142db734678d460ee085a73df1d05a88a1 (patch)
tree2ae02d3f7f68fbc7c16aed798dcae16047531767 /mod/oauth_api/vendors/oauth/example/server/core
parent74d029022863a78500ec76bdf000b781b5838544 (diff)
downloadelgg-6c8c03142db734678d460ee085a73df1d05a88a1.tar.gz
elgg-6c8c03142db734678d460ee085a73df1d05a88a1.tar.bz2
Refs #3115. Moved oauth_lib to oauth_api.
git-svn-id: http://code.elgg.org/elgg/trunk@8715 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'mod/oauth_api/vendors/oauth/example/server/core')
-rw-r--r--mod/oauth_api/vendors/oauth/example/server/core/init.php127
-rw-r--r--mod/oauth_api/vendors/oauth/example/server/core/templates/inc/footer.tpl2
-rw-r--r--mod/oauth_api/vendors/oauth/example/server/core/templates/inc/header.tpl2
-rw-r--r--mod/oauth_api/vendors/oauth/example/server/core/templates/index.tpl13
-rw-r--r--mod/oauth_api/vendors/oauth/example/server/core/templates/logon.tpl21
-rw-r--r--mod/oauth_api/vendors/oauth/example/server/core/templates/register.tpl41
6 files changed, 206 insertions, 0 deletions
diff --git a/mod/oauth_api/vendors/oauth/example/server/core/init.php b/mod/oauth_api/vendors/oauth/example/server/core/init.php
new file mode 100644
index 000000000..e5bb9de35
--- /dev/null
+++ b/mod/oauth_api/vendors/oauth/example/server/core/init.php
@@ -0,0 +1,127 @@
+<?php
+
+/**
+ * oauth-php: Example OAuth server
+ *
+ * Global initialization file for the server, defines some helper
+ * functions, required includes, and starts the session.
+ *
+ * @author Arjan Scherpenisse <arjan@scherpenisse.net>
+ *
+ *
+ * The MIT License
+ *
+ * Copyright (c) 2007-2008 Mediamatic Lab
+ *
+ * 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.
+ */
+
+
+/*
+ * Simple 'user management'
+ */
+define ('USERNAME', 'sysadmin');
+define ('PASSWORD', 'sysadmin');
+
+
+/*
+ * Always announce XRDS OAuth discovery
+ */
+header('X-XRDS-Location: http://' . $_SERVER['SERVER_NAME'] . '/services.xrds');
+
+
+/*
+ * Initialize the database connection
+ */
+$info = parse_url(getenv('DB_DSN'));
+($GLOBALS['db_conn'] = mysql_connect($info['host'], $info['user'], $info['pass'])) || die(mysql_error());
+mysql_select_db(basename($info['path']), $GLOBALS['db_conn']) || die(mysql_error());
+unset($info);
+
+
+require_once '../../../library/OAuthServer.php';
+
+/*
+ * Initialize OAuth store
+ */
+require_once '../../../library/OAuthStore.php';
+OAuthStore::instance('MySQL', array('conn' => $GLOBALS['db_conn']));
+
+
+/*
+ * Session
+ */
+session_start();
+
+
+/*
+ * Template handling
+ */
+require_once 'smarty/libs/Smarty.class.php';
+function session_smarty()
+{
+ if (!isset($GLOBALS['smarty']))
+ {
+ $GLOBALS['smarty'] = new Smarty;
+ $GLOBALS['smarty']->template_dir = dirname(__FILE__) . '/templates/';
+ $GLOBALS['smarty']->compile_dir = dirname(__FILE__) . '/../cache/templates_c';
+ }
+
+ return $GLOBALS['smarty'];
+}
+
+function assert_logged_in()
+{
+ if (empty($_SESSION['authorized']))
+ {
+ $uri = $_SERVER['REQUEST_URI'];
+ header('Location: /logon?goto=' . urlencode($uri));
+ }
+}
+
+function assert_request_vars()
+{
+ foreach(func_get_args() as $a)
+ {
+ if (!isset($_REQUEST[$a]))
+ {
+ header('HTTP/1.1 400 Bad Request');
+ echo 'Bad request.';
+ exit;
+ }
+ }
+}
+
+function assert_request_vars_all()
+{
+ foreach($_REQUEST as $row)
+ {
+ foreach(func_get_args() as $a)
+ {
+ if (!isset($row[$a]))
+ {
+ header('HTTP/1.1 400 Bad Request');
+ echo 'Bad request.';
+ exit;
+ }
+ }
+ }
+}
+
+?> \ No newline at end of file
diff --git a/mod/oauth_api/vendors/oauth/example/server/core/templates/inc/footer.tpl b/mod/oauth_api/vendors/oauth/example/server/core/templates/inc/footer.tpl
new file mode 100644
index 000000000..308b1d01b
--- /dev/null
+++ b/mod/oauth_api/vendors/oauth/example/server/core/templates/inc/footer.tpl
@@ -0,0 +1,2 @@
+</body>
+</html>
diff --git a/mod/oauth_api/vendors/oauth/example/server/core/templates/inc/header.tpl b/mod/oauth_api/vendors/oauth/example/server/core/templates/inc/header.tpl
new file mode 100644
index 000000000..5046f54b0
--- /dev/null
+++ b/mod/oauth_api/vendors/oauth/example/server/core/templates/inc/header.tpl
@@ -0,0 +1,2 @@
+<html>
+ <body>
diff --git a/mod/oauth_api/vendors/oauth/example/server/core/templates/index.tpl b/mod/oauth_api/vendors/oauth/example/server/core/templates/index.tpl
new file mode 100644
index 000000000..7b065537d
--- /dev/null
+++ b/mod/oauth_api/vendors/oauth/example/server/core/templates/index.tpl
@@ -0,0 +1,13 @@
+{include file='inc/header.tpl'}
+
+<h1>OAuth server</h1>
+Go to:
+
+<ul>
+ <li><a href="/logon">Logon</a></li>
+ <li><a href="/register">Register your consumer</a></li>
+</ul>
+
+Afterwards, make an OAuth test request to <strong>http://{$smarty.server.name}/hello</strong> to test your connection.</p>
+
+{include file='inc/footer.tpl'}
diff --git a/mod/oauth_api/vendors/oauth/example/server/core/templates/logon.tpl b/mod/oauth_api/vendors/oauth/example/server/core/templates/logon.tpl
new file mode 100644
index 000000000..5ccd432b5
--- /dev/null
+++ b/mod/oauth_api/vendors/oauth/example/server/core/templates/logon.tpl
@@ -0,0 +1,21 @@
+{include file='inc/header.tpl'}
+
+<h1>Login</h1>
+
+<form method="post">
+ <input type="hidden" name="goto" value="{$smarty.request.goto}" />
+
+ <label for="username">User name</label><br />
+ <input type="text" name="username" id="username" />
+
+ <br /><br />
+
+ <label for="password">Password</label><br />
+ <input type="text" name="password" id="password" />
+
+ <br /><br />
+
+ <input type="submit" value="Login" />
+</form>
+
+{include file='inc/footer.tpl'}
diff --git a/mod/oauth_api/vendors/oauth/example/server/core/templates/register.tpl b/mod/oauth_api/vendors/oauth/example/server/core/templates/register.tpl
new file mode 100644
index 000000000..0e28c1584
--- /dev/null
+++ b/mod/oauth_api/vendors/oauth/example/server/core/templates/register.tpl
@@ -0,0 +1,41 @@
+{include file='inc/header.tpl'}
+
+<h1>Register server</h1>
+
+<p>Register a server which is gonna act as an identity client.</p>
+
+<form method="post">
+
+ <fieldset>
+ <legend>About You</legend>
+
+ <p>
+ <label for="requester_name">Your name</label><br/>
+ <input class="text" id="requester_name" name="requester_name" type="text" value="{$consumer.requester_name|default:$smarty.request.requester_name|escape}" />
+ </p>
+
+ <p>
+ <label for="requester_email">Your email address</label><br/>
+ <input class="text" id="requester_email" name="requester_email" type="text" value="{$consumer.requester_email|default:$smarty.request.requester_email|escape}" />
+ </p>
+ </fieldset>
+
+ <fieldset>
+ <legend>Location Of Your Application Or Site</legend>
+
+ <p>
+ <label for="application_uri">URL of your application or site</label><br/>
+ <input id="application_uri" class="text" name="application_uri" type="text" value="{$consumer.application_uri|default:$smarty.request.application_uri|escape}" />
+ </p>
+
+ <p>
+ <label for="callback_uri">Callback URL</label><br/>
+ <input id="callback_uri" class="text" name="callback_uri" type="text" value="{$consumer.callback_uri|default:$smarty.request.callback_uri|escape}" />
+ </p>
+ </fieldset>
+
+ <br />
+ <input type="submit" value="Register server" />
+</form>
+
+{include file='inc/footer.tpl'}