Допустим, у меня есть 2 сервера (сервер и аутентификатор), и у меня есть клиент. Моя конечная цель здесь - иметь возможность идентифицировать клиента на сервере. Мое решение состояло в том, чтобы придумать систему токенов / секретов, такую как OAuth: клиент имеет токен и секрет. Он передает его на сервер. Сервер передает его аутентификатору. Если он действителен, сервер разрешает запрос.
Очевидно, что это неоптимально только для количества запросов. Причина, по которой аутентификатор и сервер разделены, заключается в том, что это для децентрализованной службы - может использоваться любое количество серверов, и нецелесообразно просить клиентские библиотеки регистрироваться на каждом сервере.
Итак, остается вопрос, каков наилучший / правильный способ сделать это? Цель состоит в том, чтобы создать систему, которая была бы децентрализована, но при этом клиенты могли бы относительно безопасно идентифицировать себя на сервере.