Yes, we are using KeyCloak and use Azure AD for federation in behind it. It’s correctly bootstrapping the email, so it must do some kind of mapping just like the one you mention.
We have a fix. We were using the v1.0 version of the endpoint. When we switch to the v2.0, it works and we get the email just fine. Thanks for all your help @david, talking it through helps us triage the issue.
Glad to hear it!
Would you be able to describe how to tell whether you’re using v1 or v2 in the azure portal? Then we can add a note to the instructions above so it doesn’t catch anyone else!
Yep, adding /v2.0/ to the metadata document url.
https://login.microsoftonline.com/replace-with-tenant-id/v2.0/.well-known/openid-configuration
Perfect, thanks. I’ve added a note to the OP
Hola, estoy experimentando un problema muy similar al del autor original aquí. Me estoy autenticando contra NHS.net, que en el fondo utiliza Active Directory y probablemente está alojado en Azure. Estoy usando el plugin OIDC y recibiendo el siguiente error:
(oidc) Authentication failure! invalid_credentials: OAuth2::Error,
(el error termina con una coma y no hay más datos, a diferencia del error del autor original)
He intentado cambiar la configuración de los ámbitos de autorización y token a openid email profile (y estos son compatibles con el punto final OIDC según los datos de la URL de configuración).
Aún así, sigo recibiendo el mismo error en la interfaz: “Lo sentimos, ha ocurrido un error al autorizar tu cuenta. Por favor, inténtalo de nuevo.”
Parece que no estoy recibiendo ningún dato de vuelta del JWT. Así que no es exactamente lo mismo que el problema de “campo de correo electrónico faltante”, pero comenzó con el mismo error. El único otro lugar en Meta donde puedo encontrar ese error (que parece relevante) es SSL Error during OAuth2. Resultó estar relacionado con un problema de SSL (y curiosamente, el certificado de NHS.net tiene ese problema, que ya he reportado). Pero tras instalar la solución alternativa de SSL, los errores SSL de Faraday desaparecieron. Sin embargo, parece que alguna parte del flujo de OpenID Connect sigue rota.
¿Alguna sugerencia sobre los siguientes pasos para depurar esto?