Почему бы просто не использовать токен, который вы можете сохранить в своей базе данных, и прочитать его из заголовков, как API?
Вы можете просто проверить, существует ли заголовок и иметь значение токена, и проверитьВ вашей базе данных этот токен действителен, и вы можете делать некоторые другие вещи, такие как регистрация запросов и тому подобное, и легко добавлять новые токены.
Если заголовок не существует и токен недействителен, тогда,удалить доступ ...
Или вы можете сделать «белый список ip», чтобы только запросы от определенных IP-адресов могли проходить или домены, подобные «CORS», но ограниченные определенными IP-адресами и доменами.
Потому что таким образом легче управлять доступом к определенным пользователям вашего сервиса.Другие варианты (в том числе более безопасные), как сказал @shn.