asp.net mvc - page - Error de dominio modificado: la solicitud de autenticación de OpenId contiene un dominio no registrado
net core asp route id (7)
Configuré un proyecto en mi dominio principal example.com y luego lo moví a un subdominio sub.example.com
Ahora, cuando intento usar el mismo proyecto (por defecto ASP.NET MVC o en mi foro de Discourse) con OpenId y hago clic en el botón Google para iniciar sesión con mi cuenta de Google, se produce el siguiente error:
Eso es un error.
OpenID auth request contains an unregistered domain: http://sub.example.com
He intentado buscar en Google ese mensaje pero aparentemente soy una de las primeras cuatro personas en verlo. ¿Alguna idea aquí?
Los subdominios que fallan son aquellos que nunca antes habían visto solicitudes de usuarios. Según https://developers.google.com/+/api/auth-migration#timetable , Google no permite nuevos dominios en la API de OpenID2.
Me gustaría agregar algo de contexto a este hilo junto con una solución potencial para los desarrolladores que actualmente están bloqueados.
En febrero anunciamos la desaprobación de OpenID 2.0 (OID2) programada para abril de 2015. También anunciamos que los nuevos registros de † OID2 ya no serán aceptados después de abril de 2014.
Dado que la API se cerrará en menos de un año, nuestra intención es evitar que los nuevos RP se integren con la API OID2 de Google. En su lugar, sugerimos utilizar nuestra API OpenID Connect, que consideramos más segura y más fácil de implementar.
Las inscripciones se cerraron efectivamente el 19 de mayo (como se documenta en la documentación del desarrollador OID2 de Google ). Todos los RP que ya utilizan OID2 no deberían verse afectados por este cierre.
En cuanto a los desarrolladores que actualmente están trabajando en una integración con nuestra API OID2 (presumiblemente porque se perdieron el anuncio y las advertencias en nuestra documentación de OID2), haremos todo lo posible para minimizar la fricción causada por el cierre del registro. Si se encuentra en tal situación, háganoslo saber publicando una solicitud de registro antes del 15 de junio. La publicación debe contener una solicitud OID2 de muestra utilizada por su aplicación, en caso de que prefiera no divulgar dicha información, envíe una dirección de correo electrónico y nos comunicaremos con usted. Planeamos analizar cada caso e intentar desbloquearlo de la mejor manera posible.
† OID2 no tiene un procedimiento de registro para los RP que se integran con un proveedor de identidad. Los RP se asocian al valor del reino (por ejemplo, www.ejemplo.com) que se utiliza al contactar con la API de Google OID2. Por lo tanto, un RP se considera "registrado" si su valor de reino se ha utilizado para contactar con nuestra API OID2.
Puede cambiar fácilmente a OAuth 2, este artículo le muestra cómo registrar su aplicación en Google y agregar la clave a MVC. Desplácese hacia abajo hasta: " Crear una aplicación de Google para OAuth 2 y conectar la aplicación al proyecto " .
Y es posible que deba agregar el paquete Microsoft.Owin.Security.Google a través de NuGet.
Respira hondo y solo cambia el archivo Startup.Auth.cs
app.UseGoogleAuthentication();
a
app.UseGoogleAuthentication(
clientId: "000-000.apps.googleusercontent.com",
clientSecret: "00000000000");
consulte el http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on página.
Según esta página , Google cerró el registro a nuevos clientes de OpenID 2.0 en mayo de 2014 y cerrará el servicio de OpenID 2.0 en abril de 2015.
La razón por la que algunos hosts funcionan y otros no es que, aunque Google no está agregando nuevos hosts, aún puede usar los que ya están registrados.
ACTUALIZACIÓN: algunas personas han pedido una explicación simple sobre cómo solucionar este problema o, de lo contrario, cómo proceder.
Básicamente, ahora tienes 2 opciones.
Use OAuth 2.0 (en lugar de los protocolos openID y versiones anteriores de OAuth)
o
Use el inicio de sesión de Google+ (que Google intentó "empujar" hacia usted)
Para más detalles consulte la guía de migración:
Tengo este problema exacto, usamos el inicio de sesión de Google para ejecutar una plataforma, es un problema completamente nuevo.
Algunas cosas que he descubierto si esto ayuda
- Los dominios completos que intentan usar openID nunca fallan www.example.org y www.example2.com no tienen este problema
- Los subdominios en la plataforma tienen este problema a veces, pero los mismos subdominios siempre fallan y los otros siempre funcionan.
Comenzó alrededor del lunes y todavía está sucediendo ahora.
Tuve el mismo problema pero cuando uso nodejs / expressjs
He migrado mi código utilizando el siguiente código de url y he solucionado ese problema
Estrategias de pasaporte para la autenticación con Google usando OAuth 1.0ay OAuth 2.0. https://github.com/jaredhanson/passport-google-oauth