diff options
Diffstat (limited to 'mod/oauth_lib/vendors/oauth/example/server/www')
6 files changed, 333 insertions, 0 deletions
diff --git a/mod/oauth_lib/vendors/oauth/example/server/www/hello.php b/mod/oauth_lib/vendors/oauth/example/server/www/hello.php new file mode 100644 index 000000000..8cb94bb1e --- /dev/null +++ b/mod/oauth_lib/vendors/oauth/example/server/www/hello.php @@ -0,0 +1,65 @@ +<?php + +/** + * oauth-php: Example OAuth server + * + * An example service, http://hostname/hello. You will only get the + * 'Hello, world!' string back if you have signed your request with + * oauth. + * + * @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. + */ + +require_once '../core/init.php'; + +$authorized = false; +$server = new OAuthServer(); +try +{ + if ($server->verifyIfSigned()) + { + $authorized = true; + } +} +catch (OAuthException $e) +{ +} + +if (!$authorized) +{ + header('HTTP/1.1 401 Unauthorized'); + header('Content-Type: text/plain'); + + echo "OAuth Verification Failed: " . $e->getMessage(); + die; +} + +// From here on we are authenticated with OAuth. + +header('Content-type: text/plain'); +echo 'Hello, world!'; + +?>
\ No newline at end of file diff --git a/mod/oauth_lib/vendors/oauth/example/server/www/index.php b/mod/oauth_lib/vendors/oauth/example/server/www/index.php new file mode 100644 index 000000000..f5cadbe61 --- /dev/null +++ b/mod/oauth_lib/vendors/oauth/example/server/www/index.php @@ -0,0 +1,37 @@ +<?php + +/** + * oauth-php: Example OAuth server + * + * @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. + */ + +require '../core/init.php'; + +$smarty = session_smarty(); +$smarty->display('index.tpl'); + +?> diff --git a/mod/oauth_lib/vendors/oauth/example/server/www/logon.php b/mod/oauth_lib/vendors/oauth/example/server/www/logon.php new file mode 100644 index 000000000..5c937b719 --- /dev/null +++ b/mod/oauth_lib/vendors/oauth/example/server/www/logon.php @@ -0,0 +1,55 @@ +<?php + +/** + * oauth-php: Example OAuth server + * + * Simple logon for consumer registration at this server. + * + * @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. + */ + +require_once '../core/init.php'; + +if (isset($_POST['username']) && isset($_POST['password'])) +{ + if ($_POST['username'] == USERNAME && $_POST['password'] == PASSWORD) + { + $_SESSION['authorized'] = true; + if (!empty($_REQUEST['goto'])) + { + header('Location: ' . $_REQUEST['goto']); + die; + } + + echo "Logon succesfull."; + die; + } +} + +$smarty = session_smarty(); +$smarty->display('logon.tpl'); + +?>
\ No newline at end of file diff --git a/mod/oauth_lib/vendors/oauth/example/server/www/oauth.php b/mod/oauth_lib/vendors/oauth/example/server/www/oauth.php new file mode 100644 index 000000000..e0badcc39 --- /dev/null +++ b/mod/oauth_lib/vendors/oauth/example/server/www/oauth.php @@ -0,0 +1,77 @@ +<?php + +/** + * oauth-php: Example OAuth server + * + * This file implements the OAuth server endpoints. The most basic + * implementation of an OAuth server. + * + * Call with: /oauth/request_token, /oauth/authorize, /oauth/access_token + * + * @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. + */ + +require_once '../core/init.php'; + +$server = new OAuthServer(); + +switch($_SERVER['PATH_INFO']) +{ +case '/request_token': + $server->requestToken(); + exit; + +case '/access_token': + $server->accessToken(); + exit; + +case '/authorize': + # logon + + assert_logged_in(); + + try + { + $server->authorizeVerify(); + $server->authorizeFinish(true, 1); + } + catch (OAuthException $e) + { + header('HTTP/1.1 400 Bad Request'); + header('Content-Type: text/plain'); + + echo "Failed OAuth Request: " . $e->getMessage(); + } + exit; + + +default: + header('HTTP/1.1 500 Internal Server Error'); + header('Content-Type: text/plain'); + echo "Unknown request"; +} + +?>
\ No newline at end of file diff --git a/mod/oauth_lib/vendors/oauth/example/server/www/register.php b/mod/oauth_lib/vendors/oauth/example/server/www/register.php new file mode 100644 index 000000000..c5785c2c8 --- /dev/null +++ b/mod/oauth_lib/vendors/oauth/example/server/www/register.php @@ -0,0 +1,28 @@ +<?php + +require_once '../core/init.php'; + +assert_logged_in(); + +if ($_SERVER['REQUEST_METHOD'] == 'POST') +{ + try + { + $store = OAuthStore::instance(); + $key = $store->updateConsumer($_POST, 1, true); + + $c = $store->getConsumer($key); + echo 'Your consumer key is: <strong>' . $c['consumer_key'] . '</strong><br />'; + echo 'Your consumer secret is: <strong>' . $c['consumer_secret'] . '</strong><br />'; + } + catch (OAuthException $e) + { + echo '<strong>Error: ' . $e->getMessage() . '</strong><br />'; + } +} + + +$smarty = session_smarty(); +$smarty->display('register.tpl'); + +?>
\ No newline at end of file diff --git a/mod/oauth_lib/vendors/oauth/example/server/www/services.xrds.php b/mod/oauth_lib/vendors/oauth/example/server/www/services.xrds.php new file mode 100644 index 000000000..4c50aa12b --- /dev/null +++ b/mod/oauth_lib/vendors/oauth/example/server/www/services.xrds.php @@ -0,0 +1,71 @@ +<?php + +/** + * oauth-php: Example OAuth server + * + * XRDS discovery for OAuth. This file helps the consumer program to + * discover where the OAuth endpoints for this server are. + * + * @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. + */ + +header('Content-Type: application/xrds+xml'); + +$server = $_SERVER['SERVER_NAME']; + +echo '<?xml version="1.0" encoding="utf-8"?>' . "\n"; + +?> +<XRDS xmlns="xri://$xrds"> + <XRD xmlns:simple="http://xrds-simple.net/core/1.0" xmlns="xri://$XRD*($v*2.0)" xmlns:openid="http://openid.net/xmlns/1.0" version="2.0" xml:id="main"> + <Type>xri://$xrds*simple</Type> + <Service> + <Type>http://oauth.net/discovery/1.0</Type> + <URI>#main</URI> + </Service> + <Service> + <Type>http://oauth.net/core/1.0/endpoint/request</Type> + <Type>http://oauth.net/core/1.0/parameters/auth-header</Type> + <Type>http://oauth.net/core/1.0/parameters/uri-query</Type> + <Type>http://oauth.net/core/1.0/signature/HMAC-SHA1</Type> + <Type>http://oauth.net/core/1.0/signature/PLAINTEXT</Type> + <URI>http://<?=$server?>/oauth/request_token</URI> + </Service> + <Service> + <Type>http://oauth.net/core/1.0/endpoint/authorize</Type> + <Type>http://oauth.net/core/1.0/parameters/uri-query</Type> + <URI>http://<?=$server?>/oauth/authorize</URI> + </Service> + <Service> + <Type>http://oauth.net/core/1.0/endpoint/access</Type> + <Type>http://oauth.net/core/1.0/parameters/auth-header</Type> + <Type>http://oauth.net/core/1.0/parameters/uri-query</Type> + <Type>http://oauth.net/core/1.0/signature/HMAC-SHA1</Type> + <Type>http://oauth.net/core/1.0/signature/PLAINTEXT</Type> + <URI>http://<?=$server?>/oauth/access_token</URI> + </Service> + </XRD> +</XRDS> |