Django-allauth apple login KeyError id_token

Я использую django-allauth и django-rest-auth для аутентификации.

Я реализовал google логин с ними тоже.

Это мои урлы

url('rest-auth/apple/$', AppleLogin.as_view(), name='apple_login')

и это мой views.py файл

from allauth.socialaccount.providers.apple.views import AppleOAuth2Adapter
from rest_auth.registration.views import SocialLoginView
class AppleLogin(SocialLoginView):
    adapter_class = AppleOAuth2Adapter
    serializer_class = CustomSocialLoginSerializer

    def get_serializer(self, *args, **kwargs):
        serializer_class = self.get_serializer_class()
        kwargs['context'] = self.get_serializer_context()
        return serializer_class(*args, **kwargs)

и это мой serializers.py файл

from rest_auth.registration.serializers import SocialLoginSerializer
class CustomSocialLoginSerializer(SocialLoginSerializer):
    is_advertiser = serializers.BooleanField(required=False, default=False)

    def validate(self, attrs):
        attrs = super().validate(attrs)
        user = attrs['user']
        if attrs.get('is_advertiser'):
            user.is_advertiser = True
            user.save()
        return attrs

Это мой settings.py файл

SOCIALACCOUNT_PROVIDERS = {
    'apple': { 
        "APP": {
            "client_id":'KEY GOES THERE', # APP ID
            "secret": 'APPLE SECRET KEY GOES THERE',
            "key": 'APPLE KEY GOES THERE',
            # The certificate you downloaded when generating the key.
            "certificate_key": """-----BEGIN PRIVATE KEY-----
MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg806TKaQPgPJ7jj9e
AFDJSKJFOW8495U93453SDVWFEOWI5U3405U34059U3450I304534095I34095I3
Mo4LCUa2GZhKDO2qHehLbAASDFSDFKJLKREKlok6MvuI8riC6xdnPGEcUp4
z5ihhVbY
-----END PRIVATE KEY-----
"""
        },
    },
}

Вышеуказанная настройка проста, но она выдает мне эту ошибку

KeyError at /rest-auth/apple/
'id_token'

Вот вам traceback

ile "/home/py/.local/share/virtualenvs/backend-sje3MIgt/lib/python3.7/site-packages/rest_framework/serializers.py" in run_validation
  422.             value = self.validate(value)

File "/home/py/Desktop/kidgistics/backend/home/api/v1/serializers.py" in validate
  116.         attrs = super().validate(attrs)

File "/home/py/.local/share/virtualenvs/backend-sje3MIgt/lib/python3.7/site-packages/rest_auth/registration/serializers.py" in validate
  118.         social_token = adapter.parse_token({'access_token': access_token})

File "/home/py/.local/share/virtualenvs/backend-sje3MIgt/lib/python3.7/site-packages/allauth/socialaccount/providers/apple/views.py" in parse_token
  92.         identity_data = self.get_verified_identity_data(data["id_token"])

Exception Type: KeyError at /rest-auth/apple/
Exception Value: 'id_token'

Я думаю, что реализовал все правильно, не понимаю, в чем проблема.

Я нашел это решение и попробовал этот способ: Аппл логин в django rest framework с allauth и rest-auth

Я не хочу устанавливать дополнительные зависимости для достижения этой цели. Я хочу строго придерживаться django-allauth и django-rest-auth

Вот версия:

django-allauth = "~=0.44.0"
django-rest-auth = "~=0.9.5"

Помогите, пожалуйста, решить проблему?

Вернуться на верх