redirect(); } /** * Handle the callback from Azure AD after authentication. */ public function callback(): RedirectResponse { $azureUser = Socialite::driver('azure')->user(); $user = User::query()->firstOrCreate( ['email' => $azureUser->getEmail()], [ 'name' => $azureUser->getName(), 'password' => null, ] ); auth()->login($user); ActivityLogger::log('login', $user->id, metadata: ['email' => $user->email, 'firm_name' => Arr::get($azureUser, 'companyName')]); return redirect('/'); } /** * Log the user out and redirect to landing page. */ public function logout(Request $request): RedirectResponse { ActivityLogger::log('logout', auth()->id()); auth()->logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return redirect('/'); } }