Как изменить порт `frontend_domain` в `GRAPHQL_AUTH` в проверочном письме?
Я работаю над стеком Docker-Django-Graphene-React, где Django является бэкендом, который получает GraphQL-запросы через Graphene от React, который выступает в качестве фронтенда. Все работает в контейнерах docker. Django на порту 8000, а React на 3000.
В настоящее время я работаю над аутентификацией с помощью пакета python django-graqhql-auth
.
Когда пользователь регистрирует себя на форме фронтенда, мутация register
корректно передается в бэкенд и аккаунт создается.
Одновременно на зарегистрированный почтовый адрес пользователя отправляется письмо, содержащее ссылку на верификацию с токеном, который необходимо использовать с мутацией veryifyToken
, чтобы отметить аккаунт как верифицированный.
Вот пример ссылки:
http://localhost:8000/activate/eyJ1c2VybmFtZSI6IkpvaG5zb2ZuZiIsImFjdGlvbiI6ImFjdGl2YXRpb24ifQ:1mQr0R:Wh25LJ6A1PRVCQT730kXXIk4i2QJgz1a4aNDe7RoZM0
Проблема в том, что порт на ссылке - 8000, который перенаправляет на бэкенд (Django). Я бы хотел перенаправить пользователя на порт 3000, который является фронтендом (React).
Согласно документации, я должен иметь возможность изменить frontend_domain
, что я и сделал. Я также изменил значения path
и protocol
, чтобы проверить, работает ли это:
Вот что я поместил в файл бэкенда settings.py
:
GRAPHQL_AUTH = {
"EMAIL_TEMPLATE_VARIABLES": {
"protocol": "https",
"frontend_domain": "localhost:3000",
"path": "verify",
}
}
И в итоге я получаю эту ссылку:
https://localhost:8000/verify/eyJ1c2VybmFtZSI6IkpvaG5zZmdvZmdzbmRmIiwiYWN0aW9uIjoiYWN0aXZhdGlvbiJ9:1mQrIr:2o818drqPP8oVTE4E6fg2F6vMu2zITOjkF96z5K1whY
Переменные protocol
и path
были правильно изменены, но не frontend_domain
. Проблема в том, что я не могу перенаправить пользователя непосредственно на фронтенд.
Есть ли способ исправить это? Или мне нужно создать маршрут на бэкенде, который будет перенаправлять пользователя на фронтенд с токеном, чтобы я мог использовать мутацию verifyToken
?