Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • arise/ariseid-connect/exemples/php
1 résultat
Afficher les modifications
Validations sur la source (3)
...@@ -6,7 +6,5 @@ ...@@ -6,7 +6,5 @@
"name": "steel" "name": "steel"
} }
], ],
"require": { "require": {}
"php": "^8.4"
}
} }
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<body> <body>
<main> <main>
<a href="oauth2.php"><button></button>Version OAuth 2</button></a> <a href="oauth2.php"><button>Version OAuth 2</button></a>
<a href="oidc.php"><button></button>Version OpenID Connect</button></a> <a href="oidc.php"><button>Version OpenID Connect</button></a>
</main> </main>
</body> </body>
\ No newline at end of file
...@@ -70,27 +70,28 @@ if (isset($_GET['code'])) { ...@@ -70,27 +70,28 @@ if (isset($_GET['code'])) {
$response = curl_exec($ch); $response = curl_exec($ch);
$tokens = json_decode($response, true); $tokens = json_decode($response, true);
// Note: You'd probably want to use a real JWT library // Note : Il est préférable d'utiliser une vraie bibliothèque JWT,
// but this will do in a pinch. This is only safe to do // mais cette solution peut faire l'affaire en cas de besoin.
// because the ID token came from the https connection // L'opération n'est sûre que parce que le jeton d'identification
// from Google rather than an untrusted browser redirect // provient de la connexion https d'AriseID Connect et non
// d'une redirection de navigateur non fiable.
// Split the JWT string into three parts // Sépare la chaîne JWT en trois parties
$jwt = explode('.', $tokens['id_token']); $jwt = explode('.', $tokens['id_token']);
// Extract the middle part, base64 decode it, then json_decode it // Extrait la partie centrale, la décode en base64, puis la décode en json
$userinfo = json_decode(base64_decode($jwt[1]), true); $userinfo = json_decode(base64_decode($jwt[1]), true);
$_SESSION['user_id'] = $userinfo['sub']; $_SESSION['user_id'] = $userinfo['sub'];
$_SESSION['email'] = $userinfo['email']; $_SESSION['email'] = $userinfo['email'];
// While we're at it, let's store the access token and id token // Stocke le jeton d'accès et le jeton d'identification
// so we can use them later // pour pouvoir les utiliser ultérieurement
$_SESSION['access_token'] = $tokens['access_token']; $_SESSION['access_token'] = $tokens['access_token'];
$_SESSION['id_token'] = $tokens['id_token']; $_SESSION['id_token'] = $tokens['id_token'];
$_SESSION['userinfo'] = $userinfo; $_SESSION['userinfo'] = $userinfo;
header('Location: ' . $baseURL); header("Location: $baseURL");
die(); die();
} }
......