Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 public function authenticate(TokenInterface $token)
 {
     /** @var User $user */
     $user = $this->getUserProvider()->loadUserByUsername($token->getUsername());
     if ($user) {
         $secret = $this->getSecret($user);
         if ($secret instanceof PersistentCollection) {
             $validUserApi = $this->getValidUserApi($token, $secret, $user);
             if ($validUserApi) {
                 $authenticatedToken = new WsseToken($user->getRoles());
                 $authenticatedToken->setUser($user);
                 $authenticatedToken->setOrganizationContext($validUserApi->getOrganization());
                 $authenticatedToken->setAuthenticated(true);
                 return $authenticatedToken;
             }
         } else {
             return parent::authenticate($token);
         }
     }
     throw new AuthenticationException('WSSE authentication failed.');
 }