Думайте об Open ID как о понятии слова провайдера, которое я «Джо».Есть много разных провайдеров, которых вы можете использовать.Facebook, Twitter, Stackexchange, Google, Yahoo и другие.Пользовательский интерфейс только использует поставщика OpenID.Если вы хотите улучшить интерфейс, посмотрите этот плагин jquery или этот.
Используемый интерфейс пользователя (и два вышеупомянутых) на самом деле просто глазконфеты.Концептуально они создают URL, на который будет отправлен ваш пользователь.Некоторые требуют имя пользователя в URL, другие нет.Если вы собираетесь внедрять собственное решение, вам нужно знать, что нужно каждому поставщику.Если вы используете готовый, просто пойти с ним.:)
Некоторое время назад я вел блог , в котором рассказывается о реализации DotNetOpenAuth на сайте MVC.Важно отметить, что метод ActionResult LogOn(string openid_identifier)
берет URL-адрес, который нужен поставщику, и перенаправляет туда пользователя.Вы получите этот URL от одного из этих элементов управления.Если я правильно помню, он обрабатывает все для вас.Все, что вы делаете, это скажите, куда отправить форму.
Получив ответ (другой метод LogOn
), вы можете его обработать.response.ClaimedIdentifier
в основном идентификатор пользователя.Это будет отличаться для каждого пользователя.Если я войду в систему с помощью Google и Facebook, они будут разными для обоих, даже если я один и тот же человек.Если вы хотите, чтобы ваши пользователи могли входить в систему более чем с одним, вам нужно разрешить им ассоциировать имена входа и кодировать соответственно.