Аутентификация веб-службы с использованием OpenID - PullRequest
16 голосов
/ 22 декабря 2008

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

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

Это заставило меня подумать, что OpenID может быть потенциальным решением здесь. Мне кажется, что это должно работать: фактический пароль обрабатывается поставщиком OpenID, и поэтому он не зависит от стороннего приложения. Я думаю, что проблема, вероятно, будет связана с различными прохождениями, но это должно быть управляемым.

Тем не менее, по этому поводу отсутствует удивительная информация Google, поэтому мне бы хотелось узнать мнение SO. Кто-нибудь реализовывал подобную систему раньше? Это вообще возможно? Стоит ли это хлопот?

Ответы [ 3 ]

13 голосов
/ 10 января 2009

Я полностью согласен, что вы хотите OAuth; Я говорю, что работал как на OAuth, так и на OpenID системах. Я также был в вашей лодке несколько раз, чтобы разработать API веб-сервиса REST.

Для действительно хороших идей об OAuth и почему это то, что вы хотите, смотрите в прикрепленной статье:

Они должны быть прочитаны, четыре части прочитают их все: http://hueniverse.com/oauth/guide/

RFC, прочитайте после прочтения выше, поскольку это может быть немного сложным для большинства: http://oauth.net/core/1.0

И, наконец, возможно, какой-нибудь код. У меня есть несколько проектов, которые используют Java / Groovy для OAuth. Один из них - старый добрый клиент OAuth, другой - клиент для конкретных взаимодействий с NetFlix. http://www.blueleftistconstructor.com/projects/

Если вы относительно неопытны с REST (вы еще не создали полнофункциональный веб-API), я бы порекомендовал вам купить (или лучше попросить вашего босса) «RESTful Web Services» от Richardson & Ruby. Это книга О'Рейли. Я могу сказать, что это одна из их лучших книг, дебютировавших за последние несколько лет.

Это может также помочь взглянуть на некоторые API на основе RESTful OAuth. NetFlix API - прекрасный пример: http://developer.netflix.com/docs

Удачи и удачного кодирования!

2 голосов
/ 22 декабря 2008

Пока что я нашел 1 стоящую ссылку:

http://markmail.org/message/utf7js473zqv45hv

В этом разговоре упоминается что-то под названием "OpenID Exchange", что прямо в моем переулке ... но включенная ссылка не работает и в Google не так много достоверной информации.

Похоже, OAuth может быть билетом: http://oauth.net/

0 голосов
/ 16 сентября 2011

Мы работали над проектом по интеграции аутентификации OpenID для веб-сервисов SOAP. Вы можете найти наш проект на http://code.google.com/p/ws-sandhana/.

Вы можете обеспечить Single Sing On для своих веб-сервисов с использованием аутентификации OpenID, а также можете применять доверенных поставщиков OpenID и необходимые атрибуты пользователей, определяя политики безопасности сервисов.

Это реализация с открытым исходным кодом на Apache Rampart, который является модулем безопасности для механизма веб-службы Apache Axis2. Вы можете найти наш блог на http://sandhana -project.blogspot.com / для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...