Verificação de token do Firebase

Eu tenho um back-end PHP e um cliente Android. Com o cliente, os usuários podem fazer login no meu aplicativo usando o Google ou o Facebook, ambos via Firebase. Eu recebo o token doFirebaseUser e envie para o meu servidor. É simples que a primeira seção (acabeçalho) contém o algoritmo (que é RS256) e o segundo (ocarga útil) possui todos os dados relacionados ao usuário. Há uma terceira seção, que é a assinatura dos dois primeiros para ativar a verificação no meu back-end. O problema é que eu não sei como fazer isso. Mais especificamente com o que.

eu useiJWT.io para verificar meu token e tentei verificá-lo sem sorte. Como o algoritmo usado é o RS256, a verificação deve ser feita através da chave pública. Mas qual chave pública? Eu tentei com o keystore do meu aplicativo, tentei com os certificados do Google, mas ele continua dizendo que é inválido. Eu entendo que ocabeçalhoékid campo é o ID da chave de assinatura e eu devo procurá-lo, mas não sei onde.

Os documentos do Firebase também não ajudam. Existe um guia sobreVerificação de token de ID, mas isso é inútil porque é Java / Node.JS e ainda não diz nada sobre chaves públicas.

Então a questão é:de onde obtenho as chaves públicas?

questionAnswers(1)

yourAnswerToTheQuestion