當前位置: 首頁>>代碼示例>>PHP>>正文


PHP TokenInterface::getServiceId方法代碼示例

本文整理匯總了PHP中Symfony\Component\Security\Core\Authentication\Token\TokenInterface::getServiceId方法的典型用法代碼示例。如果您正苦於以下問題:PHP TokenInterface::getServiceId方法的具體用法?PHP TokenInterface::getServiceId怎麽用?PHP TokenInterface::getServiceId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\Security\Core\Authentication\Token\TokenInterface的用法示例。


在下文中一共展示了TokenInterface::getServiceId方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: authenticateToken

 /**
  * {@inheritdoc}
  */
 public function authenticateToken(TokenInterface $token, UserProviderInterface $userProvider, $providerKey)
 {
     if (!$userProvider instanceof UserManager) {
         throw new \InvalidArgumentException(sprintf('The user provider must be an instance of UserManager (%s was given).', get_class($userProvider)));
     }
     $user = $token->getUser();
     if ($user instanceof AbstractUser) {
         return new SauthToken($user, $token->getCredentials(), $providerKey, $user->getRoles());
     }
     $service = $this->oauth->getService($token->getServiceId());
     $userId = $service->authenticate($token, $userProvider);
     if (!$userId) {
         throw new AuthenticationException(sprintf('Authentication Problem.'));
     }
     $credentials = $userProvider->getCredentials($token->getServiceId(), $userId);
     if ($credentials) {
         $user = $credentials->getUser();
     } else {
         $username = $service->getUsername($userId);
         $user = $userProvider->loadUserByUsername($username);
         if (!$user) {
             if ($this->allowRegistration === false) {
                 throw new AccessDeniedException("We couldn't find a user matching these credentials. New registrations are currently closed.");
             }
             $user = $userProvider->createNew($username);
         }
         $userProvider->saveCredentials($user, $token->getServiceId(), $userId, $service->getUserTokens());
     }
     return new SauthToken($user, $token->getCredentials(), $providerKey, $user->getRoles());
 }
開發者ID:heidilabs,項目名稱:HeidiLabsSauthBundle,代碼行數:33,代碼來源:SauthAuthenticator.php


注:本文中的Symfony\Component\Security\Core\Authentication\Token\TokenInterface::getServiceId方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。