Skip to content
Snippets Groups Projects
Commit f775d0cc authored by Rasmus Fuhse's avatar Rasmus Fuhse
Browse files

remove studip_utf8encode

parent 1e348ed3
No related branches found
No related tags found
No related merge requests found
<?php
function include_all($path, $regexp = "/\.php$/i")
{
foreach (scandir($path) as $file) {
if ($file[0] !== ".") {
if (is_dir($path."/".$file)) {
include_all($path."/".$file, $regexp);
} elseif (preg_match($regexp, $file)) {
include_once $path."/".$file;
}
}
}
}
include_once __DIR__."/../vendor/guzzle/autoloader.php";
include_all(__DIR__."/../vendor/oauth2-client/src", "/Trait\.php$/i");
include_all(__DIR__."/../vendor/oauth2-client/src", "/Interface\.php$/i");
include_all(__DIR__."/../vendor/oauth2-client/src");
class OauthController extends PluginController
{
public function request_access_token_action()
......@@ -56,38 +37,9 @@ class OauthController extends PluginController
$owncloud .= "/";
}
/*$provider = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId' => Config::get()->OWNCLOUD_CLIENT_ID ?: UserConfig::get($GLOBALS['user']->id)->OWNCLOUD_CLIENT_ID, // The client ID assigned to you by the provider
'clientSecret' => Config::get()->OWNCLOUD_CLIENT_SECRET ?: UserConfig::get($GLOBALS['user']->id)->OWNCLOUD_CLIENT_SECRET, // The client password assigned to you by the provider
'redirectUri' => PluginEngine::getURL($this->plugin, array(), "oauth/receive_access_token_action", true),
'urlAuthorize' => $owncloud."index.php/apps/oauth2/authorize",
'urlAccessToken' => $owncloud."index.php/apps/oauth2/api/v1/token",
'urlResourceOwnerDetails' => $owncloud."index.php/apps/oauth2/resource"
]);
$accessToken = $provider->getAccessToken('authorization_code', [
'code' => Request::get("code")
]);
echo 'Access Token: ' . $accessToken->getToken() . "<br>";
echo 'Refresh Token: ' . $accessToken->getRefreshToken() . "<br>";
echo 'Expired in: ' . $accessToken->getExpires() . "<br>";
echo 'Already expired? ' . ($accessToken->hasExpired() ? 'expired' : 'not expired') . "<br>";
$config = UserConfig::get($GLOBALS['user']->id);
$config->store("OWNCLOUD_ACCESS_TOKEN", $accessToken->getToken());
$config->store("OWNCLOUD_ACCESS_TOKEN_EXPIRES", $accessToken->getExpires());
$config->store("OWNCLOUD_REFRESH_TOKEN", $accessToken->getRefreshToken());*/
if (Request::get("state") !== $_SESSION['oauth2state']) {
var_dump(Request::get("state"));
var_dump($_SESSION['oauth2state']);
die();
throw new AccessDeniedException();
}
//unset $_SESSION['oauth2state'];
$client_id = \Config::get()->OWNCLOUD_CLIENT_ID ?: \UserConfig::get($GLOBALS['user']->id)->OWNCLOUD_CLIENT_ID; // The client ID assigned to you by the provider
......@@ -107,10 +59,8 @@ class OauthController extends PluginController
$header = array();
$header[] = "Accept: application/json";
$header[] = "Authorization: Basic ".base64_encode($client_id . ":" .$client_secret);
//var_dump("Authorization: Basic ".base64_encode($client_id . ":" .$client_secret));
$r = curl_init();
//curl_setopt($r, CURLOPT_URL, $owncloud."index.php/apps/oauth2/authorize?grant_type=authorization_code&code=".urlencode(Request::get("code"))."&redirect_uri=".urlencode($redirect_uri)); //owncloud
curl_setopt($r, CURLOPT_URL, $owncloud."index.php/apps/oauth2/api/v1/token?grant_type=authorization_code&code=".urlencode(Request::get("code"))."&redirect_uri=".urlencode($redirect_uri)); //nextcloud
curl_setopt($r, CURLOPT_POST, 1);
curl_setopt($r, CURLOPT_HTTPHEADER, ($header)); //studip_utf8encode
......@@ -118,22 +68,18 @@ class OauthController extends PluginController
curl_setopt($r, CURLOPT_POSTFIELDS, studip_utf8encode($payload));
$result = curl_exec($r);
$json = curl_exec($r);
$curl_info = curl_getinfo($r);
curl_close($r);
var_dump($curl_info);
var_dump($result);
$header_size = $curl_info['header_size'];
$header = substr($result, 0, $header_size);
$body = studip_utf8decode(json_decode(substr($result, $header_size), true));
$json = studip_utf8decode(json_decode($json), true);
$config = \UserConfig::get($GLOBALS['user']->id);
$config->store("OWNCLOUD_ACCESS_TOKEN", $body['access_token']);
$config->store("OWNCLOUD_ACCESS_TOKEN_EXPIRES", time() + $body['expires_in']);
$config->store("OWNCLOUD_ACCESS_TOKEN", $json['access_token']);
$config->store("OWNCLOUD_REFRESH_TOKEN", $json['refresh_token']);
$config->store("OWNCLOUD_ACCESS_TOKEN_EXPIRES", time() + $json['expires_in']);
$this->render_nothing();
$this->redirect(URLHelper::getURL("dispatch.php/files/index"));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment