Skip to content

Commit 32d483a

Browse files
jnsgaquitte
authored andcommitted
init
0 parents  commit 32d483a

File tree

7 files changed

+905
-0
lines changed

7 files changed

+905
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
vendor/
2+
providerConfig.php

callback.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
#error_reporting(E_ALL);
3+
#ini_set('display_errors', 1);
4+
5+
6+
session_start();
7+
8+
$provider = require 'providerConfig.php';
9+
10+
try {
11+
if (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {
12+
unset($_SESSION['oauth2state']);
13+
throw new Exception('Invalid state');
14+
}
15+
16+
$token = $provider->getAccessToken('authorization_code', [
17+
'code' => $_GET['code']
18+
]);
19+
20+
$resourceOwner = $provider->getResourceOwner($token);
21+
$userData = $resourceOwner->toArray();
22+
23+
24+
// Save user data and token in session or database here
25+
$_SESSION['user'] = $userData["name"];
26+
$_SESSION['token'] = $token->getToken();
27+
28+
// Redirect to index.php
29+
header('Location: index.php');
30+
exit();
31+
32+
} catch (Exception $e) {
33+
// Log the error message and display a generic error message to the user
34+
error_log($e->getMessage());
35+
echo '<p>An error occurred during the login process. Please try again.</p>';
36+
echo '<p><a href="index.php">Try again</a></p>';
37+
}

composer.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"require": {
3+
"league/oauth2-client": "^2.7"
4+
}
5+
}

0 commit comments

Comments
 (0)