2017-05-04 05:37:06 +00:00
|
|
|
<?php
|
|
|
|
|
2022-02-16 04:08:28 +00:00
|
|
|
namespace Code\Module;
|
2017-05-04 05:37:06 +00:00
|
|
|
|
2021-04-10 07:51:12 +00:00
|
|
|
use App;
|
|
|
|
use DBA;
|
2022-02-16 04:08:28 +00:00
|
|
|
use Code\Web\Controller;
|
|
|
|
use Code\Identity\OAuth2Server;
|
|
|
|
use Code\Identity\OAuth2Storage;
|
2021-04-10 07:51:12 +00:00
|
|
|
use OAuth2\Request;
|
|
|
|
use OAuth2\Response;
|
2018-02-17 00:49:01 +00:00
|
|
|
|
2021-12-02 23:02:31 +00:00
|
|
|
class Token extends Controller
|
|
|
|
{
|
|
|
|
|
|
|
|
public function init()
|
|
|
|
{
|
|
|
|
|
|
|
|
logger('args: ' . print_r($_REQUEST, true));
|
|
|
|
|
|
|
|
// workaround for HTTP-auth in CGI mode
|
|
|
|
if (x($_SERVER, 'REDIRECT_REMOTE_USER')) {
|
|
|
|
$userpass = base64_decode(substr($_SERVER["REDIRECT_REMOTE_USER"], 6));
|
|
|
|
if (strlen($userpass)) {
|
|
|
|
list($name, $password) = explode(':', $userpass);
|
|
|
|
$_SERVER['PHP_AUTH_USER'] = $name;
|
|
|
|
$_SERVER['PHP_AUTH_PW'] = $password;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (x($_SERVER, 'HTTP_AUTHORIZATION')) {
|
|
|
|
$userpass = base64_decode(substr($_SERVER["HTTP_AUTHORIZATION"], 6));
|
|
|
|
if (strlen($userpass)) {
|
|
|
|
list($name, $password) = explode(':', $userpass);
|
|
|
|
$_SERVER['PHP_AUTH_USER'] = $name;
|
|
|
|
$_SERVER['PHP_AUTH_PW'] = $password;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$storage = new OAuth2Storage(DBA::$dba->db);
|
|
|
|
$s = new OAuth2Server($storage);
|
|
|
|
$request = Request::createFromGlobals();
|
|
|
|
$response = $s->handleTokenRequest($request);
|
|
|
|
$response->send();
|
|
|
|
killme();
|
|
|
|
}
|
2018-02-17 00:49:01 +00:00
|
|
|
}
|