Как проверить id-токен в django с помощью firebase admin sdk?
From react native jwt token
генерируется с помощью this.
https://rnfirebase.io/reference/auth/idtokenresult
const idTokenResult = await firebase.auth().currentUser.getIdTokenResult();
console.log('User JWT: ', idTokenResult.token);
Я отправил этот токен через заголовок Authorization с использованием Bearer на бэкэнд.
Это бэкенд django, но он не декодирует токен
class FirebaseAuthentication(BaseAuthentication):
def authenticate(self, request):
token = request.headers.get("Authorization")
decoded_token = auth.verify_id_token(token)
uid = decoded_token["uid"]
user, created = User.objects.get_or_create(username=uid)
return user
Это ошибка, которую я получаю
decoded_token = auth.verify_id_token(token)
File "/usr/local/lib/python3.9/site-packages/firebase_admin/auth.py", line 220, in verify_id_token
return client.verify_id_token(id_token, check_revoked=check_revoked)
File "/usr/local/lib/python3.9/site-packages/firebase_admin/_auth_client.py", line 127, in verify_id_token
verified_claims = self._token_verifier.verify_id_token(id_token)
File "/usr/local/lib/python3.9/site-packages/firebase_admin/_token_gen.py", line 293, in verify_id_token
return self.id_token_verifier.verify(id_token, self.request)
File "/usr/local/lib/python3.9/site-packages/firebase_admin/_token_gen.py", line 331, in verify
header, payload = self._decode_unverified(token)
File "/usr/local/lib/python3.9/site-packages/firebase_admin/_token_gen.py", line 412, in _decode_unverified
raise self._invalid_token_error(str(error), cause=error)
firebase_admin._auth_utils.InvalidIdTokenError: Can't parse segment: b'\x05\xe6\xabz\xb6\xc6r#\xa2%%3#Sb"\xc2&\xb6\x96B#\xa2&cSVS#\x93FVVF3\x13cv6C\x93v&#V\x13\x83\x13\x96&&cs\x93\x03c3fc\x13#3vR"\xc2\'G\x97\x02#\xa2$\xa5uB\'\xd0'