Измененная ошибка домена - запрос OpenId auth содержит незарегистрированный домен
Я создал проект на своем основном домене example.com, а затем переместил его в субдомен sub.example.com
Теперь, когда я пытаюсь использовать тот же (проект по умолчанию ASP.NET MVC или на моем форуме дискурса) с OpenId и нажимать на кнопку Google для входа в мою учетную запись Google, она выдает следующую ошибку -
Я попытался разобраться с этим сообщением, но, видимо, я один из первых четырех человек, чтобы его увидеть. Любые идеи здесь?
Ответы
Ответ 1
Согласно этой странице,
Google закрыла регистрацию для новых клиентов OpenID 2.0 в мае 2014 года и отключит сервис OpenID 2.0 в апреле 2015 года.
Причина, по которой работают некоторые хосты, а некоторые нет, заключается в том, что, хотя Google не добавляет новые хосты, вы все равно можете использовать те, которые уже зарегистрированы.
ОБНОВЛЕНИЕ:
Некоторые люди попросили дать простое объяснение, как это исправить, или иначе как продолжить.
В принципе, у вас теперь есть 2 варианта.
Использовать OAuth 2.0 (вместо протоколов openID и более старых версий OAuth)
или
Использовать логин Google+ (который Google пытался "нажать" на вас)
Подробнее см. руководство по миграции:
https://developers.google.com/+/api/auth-migration#userinfo
Ответ 2
Я хотел бы добавить некоторый контекст в этот поток вместе с потенциальным решением для разработчиков, которые в настоящее время заблокированы.
Еще в феврале мы объявили об отказе OpenID 2.0 (OID2), запланированного на апрель 2015 года. Мы также объявили, что новые заявки OID2 полагающихся сторон (RPs) † больше не будут приняты после апреля 2014 года.
Учитывая, что API будет закрыт менее чем через несколько лет, мы намерены избегать интеграции новых RP-приложений с API OID2 Google. Вместо этого мы предлагаем использовать API OpenID Connect, который мы считаем более безопасным и простым в реализации.
Регистрация была фактически закрыта 19 мая (как описано в Документация разработчика Googles OID2). Все RP, уже использующие OID2, не должны быть затронуты этим закрытием.
Что касается разработчиков, которые в настоящее время работают над интеграцией с нашим API OID2 (предположительно потому, что они пропустили объявление и предупреждения в нашей документации OID2), мы сделаем все возможное, чтобы свести к минимуму трения, вызванные закрытием регистрации. Если вы находитесь в такой ситуации, сообщите нам, отправив регистрационный запрос до 15 июня. Сообщение должно содержать образец запроса OID2, используемый вашей заявкой, в случае, если вы предпочитаете не раскрывать такую информацию, пожалуйста, напишите адрес электронной почты, и мы свяжемся с вами. Мы планируем изучить каждый случай и попытаться разблокировать вас наилучшим образом.
† OID2 не имеет процедуры регистрации для RP, интегрируемых с поставщиком удостоверений. RP связаны с значением области (например, www.example.com), используемым при обращении к API Google OID2 API. Таким образом, RP считается "зарегистрированным", если его значение в реальном времени используется для связи с нашим API OID2.
Ответ 3
У меня была идентичная проблема, но при использовании nodejs/expressjs
Я переношу свой код, используя ниже код URL и исправил эту проблему
Паспортные стратегии для аутентификации с помощью Google OAuth 1.0a и OAuth 2.0.
https://github.com/jaredhanson/passport-google-oauth
Ответ 4
Вы можете легко изменить на OAuth 2, в этой статье показано, как зарегистрировать свое приложение в Google и добавить ключ к MVC. Прокрутите вниз до: " Создание приложения Google для OAuth 2 и подключение приложения к проекту."
И вам может потребоваться добавить пакет Microsoft.Owin.Security.Google через NuGet.
Ответ 5
Поддомены, которые терпят неудачу, - это те, которые раньше никогда не видели запросов пользователя. Согласно https://developers.google.com/+/api/auth-migration#timetable, Google не разрешает новые домены в API OpenID2.
Ответ 6
У меня есть эта точная проблема, мы используем вход в googles для запуска платформы, ее совершенно новую проблему.
Несколько вещей, которые я обнаружил, если это помогает
- Полные домены, пытающиеся использовать openID, никогда не сбой www.example.org и www.example2.com не имеют этой проблемы
- Субдомены на платформе иногда возникают, но одни и те же поддомены всегда терпят неудачу, а остальные всегда работают.
Это началось в понедельник и все еще происходит сейчас.
Ответ 7
Сделайте глубокий вдох и просто измените файл Startup.Auth.cs
app.UseGoogleAuthentication();
к
app.UseGoogleAuthentication(
clientId: "000-000.apps.googleusercontent.com",
clientSecret: "00000000000");
обратитесь к странице http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on.