本文整理汇总了PHP中Symfony\Component\Security\Core\User\UserProviderInterface::findUserByApiKey方法的典型用法代码示例。如果您正苦于以下问题:PHP UserProviderInterface::findUserByApiKey方法的具体用法?PHP UserProviderInterface::findUserByApiKey怎么用?PHP UserProviderInterface::findUserByApiKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Security\Core\User\UserProviderInterface
的用法示例。
在下文中一共展示了UserProviderInterface::findUserByApiKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: authenticateToken
/**
* Returns an authenticated token
*
* @param TokenInterface $token
* @param UserProviderInterface $userProvider
* @param string $providerKey
*
* @return PreAuthenticatedToken
*
* @throws AuthenticationException If the api key does not exist or is invalid
* @throws RuntimeException If $userProvider is not an instance of AdvancedUserProviderInterface
*/
public function authenticateToken(TokenInterface $token, UserProviderInterface $userProvider, $providerKey)
{
if (!$userProvider instanceof AdvancedUserProviderInterface) {
throw new RuntimeException(sprintf('The api key provider must implement %s', AdvancedUserProviderInterface::class));
}
$apiKey = $token->getCredentials();
$user = $userProvider->findUserByApiKey($apiKey);
if (!$user) {
throw new AuthenticationException(sprintf('API key %s does not exist!', $apiKey));
}
return new PreAuthenticatedToken($user, $apiKey, $providerKey, $user->getRoles());
}