Este estudo tem como objetivo analisar o erro de login que ocorre em dispositivos iOS ao acessar o Portal do Cidadão de Rondônia utilizando o Gov.br. O problema não se manifesta em todos os dispositivos iOS, mas ocorre com frequência significativa.
Ao tentar fazer login no Portal do Cidadão utilizando o Gov.br, a autenticação falha e uma mensagem de erro é exibida. O problema ocorre predominantemente em dispositivos iOS e pode variar conforme a versão do sistema operacional e navegador utilizado.
imagem do erro
System.Exception: An error was encountered while handling the remote login. ---> Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolException: Message contains error: 'invalid_grant', error_description: 'code not found or used', error_uri: 'error_uri is null'. at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.RedeemAuthorizationCodeAsync(OpenIdConnectMessage tokenEndpointRequest) at Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectHandler.HandleRemoteAuthenticateAsync() --- End of inner exception stack trace --- at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.HandleRequestAsync() at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task) |
O erro 'invalid_grant' normalmente ocorre quando o código de autorização recebido na primeira fase do login é inválido, já foi usado ou expirou. Isso sugere uma falha na troca de código por token no fluxo OpenID Connect (OAuth 2.0).
A mensagem 'code not found or used' indica que o Gov.br pode estar enviando um código de autorização ausente, expirado ou previamente utilizado, comprometendo o processo de autenticação.
Os testes foram realizados em diferentes navegadores e seguindo as configurações recomendadas pela documentação do iOS.
Ao acessar a rota:
🔹 [Ambiente Externo] https://portaldocidadao.treinamento.ro.gov.br/ – O login falha ao ser realizado em iPhones.
🔹 [Ambiente Interno] https://portaldocidadao.staging.local/ – O login ocorre com sucesso em iPhones.
O problema ocorre apenas quando o acesso é feito externamente, enquanto no ambiente interno o login funciona corretamente.
Além disso, outro sistema que também utiliza o GOV.BR para autenticação, o VENCER, enfrenta a mesma dificuldade. Isso sugere que a causa do problema não está no Portal do Cidadão, mas possivelmente em infraestrutura ou na configuração do ConfigAuth, serviço responsável pela autenticação.
Adicionalmente, não foi possível gerar logs no ConfigAuth, o que dificulta a identificação da causa raiz do problema.
Prints dos dados do dispositivo, e do erro mostrado.
Erro mostrado:
Erro mostrado: