Как я могу авторизовать клиента способом в стиле OAuth?

StackOverflow https://stackoverflow.com/questions/5307350

  •  24-10-2019
  •  | 
  •  

Вопрос

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

Очевидно, что это неоптимально только для количества выполняемых запросов.Причина, по которой аутентификатор и сервер разделены, заключается в том, что это для децентрализованного сервиса - может использоваться любое количество серверов, и нецелесообразно просить клиентские библиотеки зарегистрироваться на каждом сервере.

Итак, остается вопрос, каков наилучший / правильный способ сделать это?Цель состоит в том, чтобы создать децентрализованную систему, в которой клиенты по-прежнему могли бы идентифицировать себя относительно безопасным способом на сервере.

Это было полезно?

Решение 2

Оказывается, решение состояло в том, чтобы немного лучше определить мою проблему.Поскольку я только пытаюсь создать способ блокировки приложений, мне нужно сохранять их имя и ключ только тогда, когда они запрашивают сервер.Затем, пока они не заблокированы и ключ совпадает с ключом в хранилище данных, они будут идентифицированы.Поэтому я пытаюсь не столько аутентифицировать, сколько идентифицировать.Спасибо за информацию!

Другие советы

Отказ от ответственности:Я не эксперт по безопасности, поэтому я мог бы быть здесь посторонним, и в реальной реализации, похоже, существует ряд проблем безопасности, которые необходимо было бы устранить.

В самом широком смысле, не могли бы вы попросить клиента предоставить учетные данные аутентификатору, а затем после проверки аутентификатор предоставит клиенту и серверу соответствующие токены безопасности, и тогда клиент и сервер смогут взаимодействовать напрямую?

Просто интересно, есть ли причина, по которой вы не хотите внедрять OAuth и запускать свой собственный сервер OAuth.

Дополнительная ссылка: http://groups.google.com/group/37signals-api/msg/aeb0c8bf67a224cc

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top