Вы можете использовать базовое хеширование, при котором общий секретный пароль или «ключ» хранится в вашей системе и в каждой системе компании (разные ключи для каждой компании и не публикуются публично), а затем вы хэшируете секретный пароль с помощью субдомена ссылку и включить дайджест в качестве параметра. Затем вы проверяете его, выполняя тот же алгоритм на своей стороне, и сравниваете его с дайджестом.
ссылка может выглядеть примерно так:
abc.example.com /? Д = b5939ca22f5dcf345b4000641995478c5910dbd1607b1bdadcbf4a8618a95211
где дайджест:
$d = hash('sha256', $secret_password.$subdomain);
или включая реферера:
$d = hash('sha256', ($secret_password.$subdomain.$_SERVER['HTTP_REFERER']));
Преодолеть препятствие - это убедиться, что каждая из компаний может поддерживать правильное создание этих ссылок на основе ключа / алгоритма, специфичного для компании, и что он отличается для каждой компании, поэтому одна компания не может создавать ссылки для другой.
Это лучше, чем отсутствие аутентификации или общедоступного общего токена, который вообще не проверен, но я уверен, что в нем все еще есть уязвимости.