/**
  * @param SamlSpToken $token
  * @return mixed|UserInterface
  */
 protected function getUser(SamlSpToken $token)
 {
     if ($token->getUser() instanceof UserInterface) {
         $result = $token->getUser();
     } else {
         if ($this->userProvider) {
             $result = $this->getProviderUser($token);
         } else {
             $result = $this->getDefaultUser($token);
         }
     }
     return $result;
 }