I had followed this setup to implement signing with apple
https://python-social-auth.readthedocs.io/en/latest/backends/apple.html
but when i send the request from the IOS app i get this
[11/Nov/2020 10:16:02] "OPTIONS /oauth/convert-token/ HTTP/1.1" 200 0
Internal Server Error: /oauth/convert-token/
Traceback (most recent call last):
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\api_jws.py", line 186, in _load
header_data = base64url_decode(header_segment)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\utils.py", line 42, in base64url_decode
return base64.urlsafe_b64decode(input)
File "c:\users\euli\appdata\local\programs\python\python37\lib\base64.py", line 133, in urlsafe_b64decode
return b64decode(s)
File "c:\users\euli\appdata\local\programs\python\python37\lib\base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Invalid base64-encoded string: number of data characters (33) cannot be 1 more than a multiple of 4
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\views\generic\base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\utils\decorators.py", line 45, in _wrapper
return bound_method(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\braces\views_forms.py", line 30, in dispatch
return super(CsrfExemptMixin, self).dispatch(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 476, in raise_uncaught_exception
raise exc
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework_social_oauth2\views.py", line 70, in post
url, headers, body, status = self.create_token_response(request._request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauth2_provider\views\mixins.py", line 124, in create_token_response
return core.create_token_response(request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauth2_provider\oauth2_backends.py", line 145, in create_token_response
headers, extra_credentials)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauthlib\oauth2\rfc6749\endpoints\base.py", line 116, in wrapper
return f(endpoint, uri, *args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework_social_oauth2\oauth2_endpoints.py", line 60, in create_token_response
request, self.default_token_type)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauthlib\oauth2\rfc6749\grant_types\refresh_token.py", line 60, in create_token_response
self.validate_token_request(request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework_social_oauth2\oauth2_grants.py", line 94, in validate_token_request
user = backend.do_auth(access_token=request.token)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\social_core\backends\apple.py", line 149, in do_auth
decoded_data = self.decode_id_token(jwt_string)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\social_core\backends\apple.py", line 107, in decode_id_token
kid = jwt.get_unverified_header(id_token).get('kid')
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\api_jws.py", line 166, in get_unverified_header
headers = self._load(jwt)[2]
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\api_jws.py", line 188, in _load
raise DecodeError('Invalid header padding')
jwt.exceptions.DecodeError: Invalid header padding
[11/Nov/2020 10:16:02] "POST /oauth/convert-token/ HTTP/1.1" 500 24653
Internal Server Error: /oauth/convert-token/
Traceback (most recent call last):
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\api_jws.py", line 186, in _load
header_data = base64url_decode(header_segment)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\utils.py", line 42, in base64url_decode
return base64.urlsafe_b64decode(input)
File "c:\users\euli\appdata\local\programs\python\python37\lib\base64.py", line 133, in urlsafe_b64decode
return b64decode(s)
File "c:\users\euli\appdata\local\programs\python\python37\lib\base64.py", line 87, in b64decode
return binascii.a2b_base64(s)
binascii.Error: Invalid base64-encoded string: number of data characters (33) cannot be 1 more than a multiple of 4
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\core\handlers\exception.py", line 34, in inner
response = get_response(request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\core\handlers\base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\core\handlers\base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\views\generic\base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\utils\decorators.py", line 45, in _wrapper
return bound_method(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\django\views\decorators\csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\braces\views_forms.py", line 30, in dispatch
return super(CsrfExemptMixin, self).dispatch(*args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 476, in raise_uncaught_exception
raise exc
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework\views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework_social_oauth2\views.py", line 70, in post
url, headers, body, status = self.create_token_response(request._request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauth2_provider\views\mixins.py", line 124, in create_token_response
return core.create_token_response(request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauth2_provider\oauth2_backends.py", line 145, in create_token_response
headers, extra_credentials)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauthlib\oauth2\rfc6749\endpoints\base.py", line 116, in wrapper
return f(endpoint, uri, *args, **kwargs)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework_social_oauth2\oauth2_endpoints.py", line 60, in create_token_response
request, self.default_token_type)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\oauthlib\oauth2\rfc6749\grant_types\refresh_token.py", line 60, in create_token_response
self.validate_token_request(request)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\rest_framework_social_oauth2\oauth2_grants.py", line 94, in validate_token_request
user = backend.do_auth(access_token=request.token)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\social_core\backends\apple.py", line 149, in do_auth
decoded_data = self.decode_id_token(jwt_string)
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\social_core\backends\apple.py", line 107, in decode_id_token
kid = jwt.get_unverified_header(id_token).get('kid')
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\api_jws.py", line 166, in get_unverified_header
headers = self._load(jwt)[2]
File "C:\Users\Euli.virtualenvs\backend-WVgn4dJp\lib\site-packages\jwt\api_jws.py", line 188, in _load
raise DecodeError('Invalid header padding')
jwt.exceptions.DecodeError: Invalid header padding
[11/Nov/2020 10:16:03] "POST /oauth/convert-token/ HTTP/1.1" 500 24653
I couldn't find another documentation of how to implement