Единый вход для веб-приложения - PullRequest
1 голос
/ 27 апреля 2009

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

  1. Владелец веб-сайтов зарегистрируется у нас для доступа к нашему приложению
  2. Пользователь войдет на свой сайт и увидит ссылку нашего сайта для доступа к нему.
  3. Как только пользователь нажмет на ссылку, пользователь сможет получить к ней доступ.
  4. Если пользователь попытается получить доступ к этой ссылке через браузер, войдя на свой сайт, отобразит сообщение об ошибке.

Есть ли способ сделать это с помощью файлов cookie, веб-сервисов или HTTTP, и т.д.

Ответы [ 4 ]

6 голосов
/ 27 апреля 2009

проверить OpenID - http://openid.net/

1 голос
/ 27 апреля 2009

Microsoft Windows 2003 R2 представила продукт под названием «Службы федерации Active Directory» (ADFS), который соответствует вашему описанию. ADFS обеспечивает единый вход между несколькими веб-сайтами. Это относится и к сайтам, которые связаны с вашим собственным, но вы не обязательно доверяете открытию API аутентификации. ADFS интегрируется с AzMan для авторизации на основе ролей и может проходить проверку подлинности в Active Directory, ADLS и т. Д. *

Если все, что вам нужно, это базовая однократная регистрация, это решение является излишним. По сути, все, что они делают, - это проверяют сеанс с проверкой подлинности, и если он не найден, он выполняет перенаправление 307 на сервер федерации (веб-сайт проверки подлинности), где находится форма проверки подлинности. Как только пользователь входит в систему, на сервере федерации устанавливается cookie, и пользователь перенаправляется обратно на исходный сайт с sessionid, присоединенным в качестве переменной URL. Именно этот сайт должен сохранить копию sessionid в виде файла cookie для своего собственного домена.

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

1 голос
/ 27 апреля 2009

Хм, звучит так, будто вы хотите что-то вроде OAuth, http://oauth.net для авторизации и OpenID, http://openid.net/,, чтобы люди могли легко войти в систему.

У Google есть гибридный протокол OpenID + OAuth, который позволяет запрашивать как данные пользователя, так и токен доступа одновременно, http://code.google.com/apis/accounts/docs/OpenID.html.

0 голосов
/ 27 апреля 2009

Другой вариант, который вы можете исследовать, - Windows Live ID . Конечно, главный недостаток заключается в том, что пользователи должны иметь учетные записи Windows Live, но это может и не быть проблемой

...