当前位置: 首页>>代码示例>>PHP>>正文


PHP TokenInterface::getSignature方法代码示例

本文整理汇总了PHP中Symfony\Component\Security\Core\Authentication\Token\TokenInterface::getSignature方法的典型用法代码示例。如果您正苦于以下问题:PHP TokenInterface::getSignature方法的具体用法?PHP TokenInterface::getSignature怎么用?PHP TokenInterface::getSignature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\Security\Core\Authentication\Token\TokenInterface的用法示例。


在下文中一共展示了TokenInterface::getSignature方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: authenticate

 /**
  * Attempts to authenticate a TokenInterface object.
  *
  * @param TokenInterface $token The TokenInterface instance to authenticate
  *
  * @return TokenInterface An authenticated TokenInterface instance, never null
  *
  * @throws AuthenticationException if the authentication fails
  */
 public function authenticate(TokenInterface $token)
 {
     /** @var SignedTokenInterface $token */
     $user = $this->userProvider->loadUserByUsername($token->getUsername());
     $signData = $this->getAuthSignData($token->getRequest());
     $signData[] = $user->{$this->config['secret_getter']}();
     $expectedSignature = hash($this->config['hash_alg'], implode($this->config['data_delimiter'], $signData));
     if ($token->getSignature() == $expectedSignature) {
         $token->setUser($user);
         return $token;
     }
     $this->logger->critical(sprintf('Invalid auth signature. Expect "%s", got "%s"', $expectedSignature, $token->getSignature()), ['signData' => $signData]);
     throw new AuthenticationException("Invalid auth signature " . $token->getSignature());
 }
开发者ID:epustobaev,项目名称:signed-auth-bundle,代码行数:23,代码来源:SignedAuthProvider.php

示例2: authenticate

 /**
  * {@inheritdoc}
  */
 public function authenticate(TokenInterface $token)
 {
     /** @var HmacUserToken $token */
     if ($this->validateServiceLabel($token->getServiceLabel())) {
         $user = $this->userProvider->loadUserByUsername($token->getUsername());
         if ($this->validateSignature($token->getRequest(), $token->getSignature(), $user->getPassword())) {
             $authenticatedToken = new HmacUserToken();
             $authenticatedToken->setUser($user);
             $authenticatedToken->setServiceLabel($token->getServiceLabel());
             $authenticatedToken->setRequest($token->getRequest());
             return $authenticatedToken;
         }
     }
     throw new AuthenticationException('The HMAC authentication failed.');
 }
开发者ID:wridgers,项目名称:GremoHmacAuthenticationBundle,代码行数:18,代码来源:HmacAuthenticationProvider.php

示例3: authenticate

 /**
  * {@inheritdoc}
  */
 public function authenticate(TokenInterface $token)
 {
     /** @var SessionlessToken $token */
     $signature = $token->getSignature($token);
     $user = $this->usersProvider->loadUserByUsername($token->getUsername());
     // Prepares new token, that represents authenticated user.
     $regeneratedToken = new SessionlessToken($token->getUsername(), $token->getExpirationTime(), $token->getIpAddress(), $this->generateSignature($token), $user->getRoles());
     if ($token->getExpirationTime() >= time() && $signature === $regeneratedToken->getSignature()) {
         $regeneratedToken->setAuthenticated(true);
         $regeneratedToken->setUser($user);
         return $regeneratedToken;
     } else {
         $regeneratedToken->setAuthenticated(false);
     }
     throw new AuthenticationException('The Sessionless authentication failed.');
 }
开发者ID:asev,项目名称:SettingsBundle,代码行数:19,代码来源:SessionlessAuthenticationProvider.php

示例4: checkSignature

 /**
  * Check signature
  *
  * @param  TokenInterface  $token
  * @param  ClientInterface $client
  * @return void
  */
 protected function checkSignature(TokenInterface $token, ClientInterface $client)
 {
     if ($client->isSignatureRequired() && !$token->isSigned()) {
         throw new OAuthInvalidRequestException('The request is not signed.');
     }
     if ($client->isSignatureRequired() && $token->isSigned()) {
         if (!$this->signature->verify($token->getSignedUrl(), $client->getSecret(), $token->getSignature())) {
             throw new OAuthInvalidRequestException('The request signature we calculated does not match the signature you provided.');
         }
     }
 }
开发者ID:euskadi31,项目名称:OAuth2ServerServiceProvider,代码行数:18,代码来源:OAuth2AuthenticationProvider.php


注:本文中的Symfony\Component\Security\Core\Authentication\Token\TokenInterface::getSignature方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。