diff options
author | Minteck <contact@minteck.org> | 2021-12-23 19:40:44 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2021-12-23 19:40:44 +0100 |
commit | 133be8d6e235b83edf562520c550a2cda734ffd1 (patch) | |
tree | bc2f0fde44cb19e0ff84c060a5234dabf6c00545 /oauth/index.php | |
parent | 408bee6540c861b65ebb9f6ca805060b35b31720 (diff) | |
download | core-133be8d6e235b83edf562520c550a2cda734ffd1.tar.gz core-133be8d6e235b83edf562520c550a2cda734ffd1.tar.bz2 core-133be8d6e235b83edf562520c550a2cda734ffd1.zip |
Commit
Diffstat (limited to 'oauth/index.php')
-rw-r--r-- | oauth/index.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/oauth/index.php b/oauth/index.php index 0cee597..3a98390 100644 --- a/oauth/index.php +++ b/oauth/index.php @@ -1,5 +1,6 @@ <?php
+header("Content-Type: text/plain");
// TODO: handle errors
$_CONFIG = json_decode(file_get_contents($_SERVER["DOCUMENT_ROOT"] . "/private/FamilineConfig.json"), true);
@@ -9,7 +10,7 @@ if (!isset($_GET['code'])) { $appdata = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/private/app.json"), true);
-$crl = curl_init('https://account.familine.minteck.org/hub/api/rest/oauth2/token');
+$crl = curl_init('https://' . $_CONFIG["Global"]["federation"]. '/auth/realms/Familine/protocol/openid-connect/token');
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($crl, CURLINFO_HEADER_OUT, true);
curl_setopt($crl, CURLOPT_POST, true);
@@ -21,12 +22,13 @@ curl_setopt($crl, CURLOPT_HTTPHEADER, [ curl_setopt($crl, CURLOPT_POSTFIELDS, "grant_type=authorization_code&redirect_uri=" . urlencode("https://" . $_CONFIG["Global"]["domain"] . "/oauth") . "&code=" . $_GET['code']);
$result = curl_exec($crl);
+var_dump($result);
$result = json_decode($result, true);
curl_close($crl);
if (isset($result["access_token"])) {
- $crl = curl_init('https://' . $_CONFIG["Global"]["federation"]. '/hub/api/rest/users/me');
+ $crl = curl_init('https://' . $_CONFIG["Global"]["federation"]. '/auth/realms/Familine/protocol/openid-connect/userinfo');
curl_setopt($crl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($crl, CURLINFO_HEADER_OUT, true);
curl_setopt($crl, CURLOPT_HTTPHEADER, [
@@ -35,9 +37,14 @@ if (isset($result["access_token"])) { ]);
$result = curl_exec($crl);
+ var_dump($result);
$result = json_decode($result, true);
$token = bin2hex(random_bytes(32));
+ $result["login"] = $result["preferred_username"];
+ $result["name_internal"] = $result["name"];
+ $result["name"] = $result["family_name"] . " " . $result["given_name"];
+ $result["id"] = $result["sub"];
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/private/tokens/" . $token, json_encode($result));
setcookie("FL_SESSION_TOKEN", $token, strtotime('+365 days'), "/", "." . $_CONFIG["Global"]["domain"], true, true);
|