Как я могу авторизовать клиента в стиле OAuth? - PullRequest
0 голосов
/ 15 марта 2011

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

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

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

Ответы [ 2 ]

1 голос
/ 15 марта 2011

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

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

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

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

0 голосов
/ 19 марта 2011

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

...