Estou usando a biblioteca google-auth~=2.28.1
para ativar o "Login com Google" em meu webapp. O login funciona no meu computador local e no servidor de teste (hetzner), mas no servidor prod (também hetzner) parou de funcionar recentemente.
Esta é a parte do meu webapp python que lança a exceção:
id_info = id_token.verify_oauth2_token(
credential, requests.Request(), auth_config.google_client_id
)
Este é o erro:
google.auth.exceptions.TransportError: Could not fetch certificates at https://www.googleapis.com/oauth2/v1/certs
O webapp está sendo executado em um contêiner docker que estende o python:3.10
.
Depois de ler este post ServerFault , tentei curl
com IPv4 e IPv6 tanto do servidor quanto de dentro do contêiner Docker. Ao contrário do post SF, o IPv6 funciona enquanto o IPV4 não.
curl -4 'https://www.googleapis.com/oauth2/v1/certs'
Saída truncada:
<p><b>403.</b> <ins>That’s an error.</ins>
<p>Your client does not have permission to get URL <code>/oauth2/v1/certs</code> from this server. <ins>That’s all we know.</ins>
curl -6 'https://www.googleapis.com/oauth2/v1/certs'
Saída truncada:
{"6f9777a685907798ef794062c00b65d66c240b1b": "-----BEGIN CERT....}
Já tive esse problema no passado e ele se resolveu depois de alguns dias, mas gostaria de uma solução mais permanente.