Подтвердить что ты не робот

Аутентификация веб-службы с использованием OpenID

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

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

Удачи и счастливого кодирования!

Ответ 2

До сих пор я нашел 1 ссылку:

http://markmail.org/message/utf7js473zqv45hv

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

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

Ответ 3

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

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

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