. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Tools\OAuthServer; use Espo\Tools\OAuthServer\Entities\Client; use Espo\Tools\OAuthServer\Secret\SecretValidator; use SensitiveParameter; class ClientValidator { public function __construct( private SecretValidator $secretValidator, ) {} public function validate(Client $client, #[SensitiveParameter] ?string $secret): bool { if (!$secret) { return $client->getClientType() === ClientType::Public; } return $this->secretValidator->validate($client, $secret); } }