-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathAuthController.php
49 lines (43 loc) · 1.31 KB
/
AuthController.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
use Illuminate\Routing\Controller;
use Socialite;
class AuthController extends Controller
{
/**
* Redirect the user to the GitHub authentication page.
* Also passes a `redirect` query param that can be used
* in the handleProviderCallback to send the user back to
* the page they were originally at.
*
* @param Request $request
* @return Response
*/
public function redirectToProvider(Request $request)
{
return Socialite::driver('github')
->with(['redirect_uri' => env('GITHUB_CALLBACK_URL' ) . '?redirect=' . $request->input('redirect')])
->redirect();
}
/**
* Obtain the user information from GitHub.
* If a "redirect" query string is present, redirect
* the user back to that page.
*
* @param Request $request
* @return Response
*/
public function handleProviderCallback(Request $request)
{
$user = Socialite::driver('github')->user();
Session::put('user', $user);
$redirect = $request->input('redirect');
if($redirect)
{
return redirect($redirect);
}
return 'GitHub auth successful. Now navigate to a demo.';
}
}