Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1.  
  2.  
  3. Event::listen('Aacotroneo\Saml2\Events\Saml2LoginEvent', function (Saml2LoginEvent $event) {
  4. // dd($event);
  5. $messageId = $event->getSaml2Auth()->getLastMessageId();
  6. // your own code preventing reuse of a $messageId to stop replay attacks
  7. $user = $event->getSaml2User();
  8. $attributes = $user->getAttributes();
  9. $userData = [
  10. 'id' => $user->getUserId(),
  11. 'attributes' => $attributes,
  12. 'assertion' => $user->getRawSamlAssertion()
  13. ];
  14. // dd($attributes);
  15. $laravelUser = User::where('username', $attributes['sAMAccountName'][0])->first();//find user by ID or attribute
  16. //if it does not exist create it and go on or show an error message
  17. if ($laravelUser) {
  18. auth()->login($laravelUser);
  19. } else {
  20. $laravelUser = User::create([
  21. 'name' => $data['urn:oid:2.5.4.3'][0],
  22. 'username' => $data['sAMAccountName'][0],
  23. 'email' => $data['urn:oid:0.9.2342.19200300.100.1.3'],
  24. 'mail' => $data['urn:oid:0.9.2342.19200300.100.1.3']
  25. ]);
  26. auth()->login($laravelUser);
  27. }
  28. });
  29.  
  30. Event::listen('Aacotroneo\Saml2\Events\Saml2LogoutEvent', function ($event) {
  31. auth()->guard('ldap')->logout();
  32. auth()->logout();
  33. session()->save();
  34. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement