/**
  * Constructor.
  *
  * @param UserProviderInterface    $userProvider              An UserProviderInterface instance
  * @param PasswordEncoderInterface $encoder                   A PasswordEncoderInterface instance
  * @param Cache                    $nonceCache                The nonce cache
  * @param int                      $lifetime                  The lifetime
  * @param string                   $dateFormat                The date format
  */
 public function __construct(UserProviderInterface $userProvider, $providerKey, PasswordEncoderInterface $encoder, Cache $nonceCache, $lifetime = 300, $dateFormat = '/^([\\+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d+(?!:))?)?(\\17[0-5]\\d([\\.,]\\d+)?)?([zZ]|([\\+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$/')
 {
     if (empty($providerKey)) {
         throw new \InvalidArgumentException('$providerKey must not be empty.');
     }
     parent::__construct($userProvider, $providerKey, $encoder, $nonceCache, $lifetime, $dateFormat);
     $this->userProvider = $userProvider;
 }
Esempio n. 2
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.');
 }
 /**
  * Constructor.
  *
  * @param UserProviderInterface    $userProvider    An UserProviderInterface instance
  * @param PasswordEncoderInterface $encoder         A PasswordEncoderInterface instance
  * @param Cache                    $nonceCache      Cache instance
  * @param int                      $lifetime        The lifetime, in seconds
  */
 public function __construct(UserProviderInterface $userProvider, PasswordEncoderInterface $encoder, Cache $nonceCache, $lifetime = 300)
 {
     parent::__construct($userProvider, $encoder, $nonceCache, $lifetime);
     $this->userProvider = $userProvider;
 }
 /**
  * @test
  * @dataProvider providerSupports
  * @param $token
  * @param $expected
  */
 public function supports($token, $expected)
 {
     $provider = new Provider($this->userProvider, 'someproviderkey', $this->encoder, $this->nonceCache);
     $this->assertEquals($expected, $provider->supports($token));
 }