Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Event::listen('Aacotroneo\Saml2\Events\Saml2LoginEvent', function (Saml2LoginEvent $event) {
- // dd($event);
- $messageId = $event->getSaml2Auth()->getLastMessageId();
- // your own code preventing reuse of a $messageId to stop replay attacks
- $user = $event->getSaml2User();
- $attributes = $user->getAttributes();
- $userData = [
- 'id' => $user->getUserId(),
- 'attributes' => $attributes,
- 'assertion' => $user->getRawSamlAssertion()
- ];
- // dd($attributes);
- $laravelUser = User::where('username', $attributes['sAMAccountName'][0])->first();//find user by ID or attribute
- //if it does not exist create it and go on or show an error message
- if ($laravelUser) {
- auth()->login($laravelUser);
- } else {
- $laravelUser = User::create([
- 'name' => $data['urn:oid:2.5.4.3'][0],
- 'username' => $data['sAMAccountName'][0],
- 'email' => $data['urn:oid:0.9.2342.19200300.100.1.3'],
- 'mail' => $data['urn:oid:0.9.2342.19200300.100.1.3']
- ]);
- auth()->login($laravelUser);
- }
- });
- Event::listen('Aacotroneo\Saml2\Events\Saml2LogoutEvent', function ($event) {
- auth()->guard('ldap')->logout();
- auth()->logout();
- session()->save();
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement