You can use basic hashing, by means of which a shared secret password or โkeyโ is stored in your system and each company system (another key for each company is not published publicly), and then you enter the secret password with a subdomain into the link and enable the digest as parameter. Then you test it by running the same algorithm on your side and compare with the digest.
the link might look something like this:
abc.example.com/?d=b5939ca22f5dcf345b4000641995478c5910dbd1607b1bdadcbf4a8618a95211
where is the digest:
$d = hash('sha256', $secret_password.$subdomain);
or including referent:
$d = hash('sha256', ($secret_password.$subdomain.$_SERVER['HTTP_REFERER']));
The obstacle to overcome is to make sure that each company can support the correct generation of these links based on the specific key / algorithm of the company - and that this is different for each company, so one company cannot create links for another.
This is better than a lack of authentication, or a publicly shared token that has not been verified at all, but I'm sure it still has vulnerabilities.
source share