Please sign in to comment.
MDL-29857 - lib: Add an OAuth 2.0 client
A generic OAuth 2.0 for the web application flow, tested against microsoft and google apis. Added a callback endpoint for requests so that clients can use a single endpoint (without GET params). I put this in /admin/ as I expect some sites will have .htaccess denying access to /lib/.
- Loading branch information...
Showing with 299 additions and 1 deletion.
|@@ -0,0 +1,38 @@|
|// This file is part of Moodle - http://moodle.org/|
|// Moodle is free software: you can redistribute it and/or modify|
|// it under the terms of the GNU General Public License as published by|
|// the Free Software Foundation, either version 3 of the License, or|
|// (at your option) any later version.|
|// Moodle is distributed in the hope that it will be useful,|
|// but WITHOUT ANY WARRANTY; without even the implied warranty of|
|// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the|
|// GNU General Public License for more details.|
|// You should have received a copy of the GNU General Public License|
|// along with Moodle. If not, see <http://www.gnu.org/licenses/>.|
|* An oauth2 redirection endpoint which can be used for an application:|
|* This is used because some oauth servers will not allow a redirect urls|
|* with get params (like repository callback) and that needs to be called|
|* using the state param.|
|* @package core|
|* @copyright 2012 Dan Poltawski|
|* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later|
|// The authorization code generated by the authorization server.|
|$code = required_param('code', PARAM_RAW);|
|// The state parameter we've given (used in moodle as a redirect url).|
|$state = required_param('state', PARAM_URL);|
|redirect(new moodle_url($state, array('code' => $code)));|