Как реализовать социальный вход с помощью dj-rest-auth и получить перенаправление обратно на фронтенд, который использует vanilla js с установленными cookies sessionid и token

В настоящее время я реализую социальный вход с помощью dj-rest-auth с пользовательским провайдером. Я просмотрел множество сайтов, но большинство руководств/ресурсов не показывают, как реализовать фронтенд, поэтому я не знаю, как его реализовать. Фронтенд может использовать только ванильный js и является SPA.

Моя текущая идея/тестирование заключается в использовании href=127.0.0.1/api/auth/callback, который будет запускать функцию callback. Если код не возвращается, он перенаправляет на авторизационный url, чтобы получить его и продолжить перенаправление обратно к той же функции, чтобы начать вход. После входа в систему происходит перенаправление на домашнюю страницу со всеми соответствующими cookies.

REST_FRAMEWORK = {
    "DEFAULT_AUTHENTICATION_CLASSES": [
        "rest_framework.authentication.TokenAuthentication",
        'rest_framework.authentication.SessionAuthentication',
    ],

    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated',
    ],
}

Provider login api (http://127.0.0.1:8000/api/auth/provider/)

auth/views.py

redirect_uri = 'http://127.0.0.1:8000/api/auth/callback/'

def callback(request):
    if 'code' in request.GET is None:
        socialapp =  SocialApp.objects.get(name='provider')
        authorize_url = (f'{settings.OAUTH_SERVER_BASEURL}/oauth/authorize' 
                        '?client_id=' + socialapp.client_id +
                        '&redirect_uri=' + quote(redirect_uri, safe='') +
                        '&response_type=code')
        return redirect(authorize_url)
    if 'code' in request.GET:
        socialapp =  SocialApp.objects.get(name='NAME')
        code = request.GET['code']
        context = {}
        context['grant_type'] = 'authorization_code'
        context['client_id'] = socialapp.client_id
        context['client_secret'] = socialapp.secret
        context['code'] = code
        context['redirect_uri'] = 'http://127.0.0.1:8000/api/auth/callback/'
        try:
            token_response = requests.post('https://provider-api-link/oauth/token', json=context)
            data = token_response.json() # access-token is inside
            if 'error_description' in data:
                print("error_description_post_code:", data)
            social_login_response = requests.post('http://127.0.0.1:8000/api/auth/provider/', json=data)
            response = HttpResponseRedirect('/')
            response.set_cookie("Authorization", 'Token {}'.format(data["key"]), httponly=True)
            return response

Теперь проблема в том, что в возвращаемом ответе есть куки авторизации, но sessionid и другие куки находятся в social_login_response вместо них. Как мне сделать перенаправление на домашнюю страницу с авторизационным токеном, sessionid и другими соответствующими куками?

Я пробовал просматривать куки в файле token_response.cookies, но не уверен, что это правильный способ обработки социального входа с помощью этого пакета. Любое решение или ссылка будут очень признательны.

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