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
Olá, estou enfrentando um problema muito semelhante ao do OP aqui. Estou autenticando contra o NHS.net, que, por baixo dos panos, é o Active Directory e provavelmente fornecido pelo Azure. Estou usando o plugin OIDC e recebendo o seguinte erro:
(oidc) Falha na autenticação! invalid_credentials: OAuth2::Error,
(o erro termina com uma vírgula e não há dados adicionais, ao contrário do erro do OP)
Tentei alterar as configurações do escopo de autorização e token para openid email profile (e esses são suportados no endpoint OIDC, de acordo com os dados da URL de configuração).
Ainda estou recebendo o mesmo erro na interface: “Desculpe, ocorreu um erro ao autorizar sua conta. Por favor, tente novamente.”
Parece que não estou recebendo nenhum dado de volta do JWT. Então, não é exatamente o mesmo problema de “campo de e-mail ausente”, mas começou com o mesmo erro. O único outro lugar no Meta onde encontrei esse erro (que parece relevante) é SSL Error during OAuth2. Isso acabou sendo relacionado a um problema de SSL (e, curiosamente, o certificado do NHS.net tem esse problema, que já foi reportado). Mas, após instalar a solução alternativa para SSL, os erros de SSL do Faraday desapareceram. No entanto, ainda parece que alguma parte do fluxo do OpenID Connect está quebrada.
Alguma sugestão sobre os próximos passos para depurar isso?