/** * @param string $type * @param \OAuth2\ResourceOwner\ResourceOwnerInterface $client * * @return bool */ private function isTypeValid($type, ResourceOwnerInterface $client) { switch ($type) { case 'end_user': return $client instanceof EndUserInterface; case 'client': return $client instanceof ClientInterface; case 'registered_client': return $client instanceof RegisteredClientInterface; case 'confidential_client': return $client instanceof ConfidentialClientInterface; case 'public_client': return $client instanceof RegisteredClientInterface && !$client instanceof ConfidentialClientInterface; case 'unregistered_client': return $client instanceof ClientInterface && !$client instanceof RegisteredClientInterface; default: return $type === $client->getType(); } }