Вы на правильном пути.Идентификатор OP Google (который необходимо ввести для входа в Google): https://www.google.com/accounts/o8/id
realm
- это URL-адрес вашей домашней страницы thisPageUrl
- этоURL-адрес, на который поставщик должен перенаправить пользователя обратно после входа пользователя в систему. - 'requestUrl' - полный URL-адрес текущего входящего запроса, включая строку запроса.Это может быть ответ OpenID.
Так что единственный URL, который вам, вероятно, нужно изменить, это переменная realm
.
Поскольку вы говорите, что получаете ответ отУ Google уже есть куча вещей в строке запроса, код, который обрабатывает этот ответ, должен включиться. Возможно, вы захотите настроить действительный код входа (часть, которая устанавливает переменные сеанса) в соответствии с тем, что вам нужно на сайте.* Классический ASP COM-сервер в DotNetOpenAuth v3.4.5 действительно позволяет вам получить адрес электронной почты пользователя Google.Вам нужно немного изменить образец:
-redirectUrl = dnoi.CreateRequestWithSimpleRegistration(Request.Form("openid_identifier"), realm, thisPageUrl, "nickname,email", "fullname")
+redirectUrl = dnoi.CreateRequestWithSimpleRegistration(Request.Form("openid_identifier"), realm, thisPageUrl, "", "email")
Это должно сделать это.Если нет, возможно, Google требует, чтобы обнаружение RP было успешным.RP Discovery - это хорошая вещь, чтобы все равно работать.Направления, чтобы сделать это в http://blog.nerdbank.net/2008/06/why-yahoo-says-your-openid-site.html. Обратите внимание, что классический ASP не был аудиторией, которую я имел в виду при написании поста, поэтому вам, возможно, придется немного адаптировать некоторые приемы.