DotNetOpenAuth - вход в Google OpenId каждый раз требует подтверждения

70
6

Я использую DotNetOpenAuth для входа на мой сайт с помощью Google OpenId. Простой код, обсуждавшийся много раз:

protected static readonly string ENDPOINT = "https://www.google.com/accounts/o8/id";

public void RequestAuthentication(string realm, Uri returnUrl) {
using (OpenIdRelyingParty openid = new OpenIdRelyingParty()) {
IAuthenticationRequest openRequest = openid.CreateRequest(ENDPOINT, realm, returnUrl);
var fr = new FetchRequest();
fr.Attributes.Add(new AttributeRequest(WellKnownAttributes.Contact.Email, true));
fr.Attributes.Add(new AttributeRequest(WellKnownAttributes.Preferences.TimeZone, false));
fr.Attributes.Add(new AttributeRequest(WellKnownAttributes.Name.FullName, true));
fr.Attributes.Add(new AttributeRequest(WellKnownAttributes.Name.Alias, false));
fr.Attributes.Add(new AttributeRequest(WellKnownAttributes.Name.Last, true));
fr.Attributes.Add(new AttributeRequest(WellKnownAttributes.Name.First, true));
openRequest.AddExtension(fr);
openRequest.RedirectToProvider();
}
}

Это работает, но каждый раз, когда Google запрашивает подтверждение для отправки электронной почты пользователей на мой веб-сайт, игнорируя флажок "Запомнить мое решение"!

Я уже пытался заменить FetchRequest на ClaimsRequest (с AXFetchAsSregTransform) - никакой разницы.

Что я делаю неправильно?

спросил(а) 2012-11-28T16:22:00+04:00 7 лет, 11 месяцев назад
1
Решение
83

Кажется, это проблема Google.

В моей учетной записи Google в настройках "Безопасность"> "Авторизация приложений и сайтов" ("Безопасность"> "Уполномоченные сайты и приложения") я удалил токены своего сайта (все повторяющиеся элементы), при следующем входе в систему я снова проверил "запомнить" на страница подтверждения и альт - все будущие входы на мой сайт не требуют подтверждения.

ответил(а) 2012-11-29T15:36:00+04:00 7 лет, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема