reactjs - 如何更改验证邮件中`GRAPHQL_AUTH`中的`frontend_domain`端口?
问题描述
我正在开发一个 Docker-Django-Graphene-React 堆栈,其中 Django 是后端,它通过来自 React 的 Graphene 接收 GraphQL 查询,它充当前端。一切都在 docker 容器中运行。Django 使用 8000 端口,React 使用 3000。
我目前正在使用 python 的django-graqhql-auth
包进行身份验证。
当用户在前端表单上注册自己时,register
会正确地对后端进行更改并创建帐户。
同时向用户的注册邮件地址发送一封邮件,其中包含一个带有令牌的验证链接,该令牌必须与veryifyToken
突变一起使用,以便将帐户标记为已验证。
以下是链接示例:
http://localhost:8000/activate/eyJ1c2VybmFtZSI6IkpvaG5zb2ZuZiIsImFjdGlvbiI6ImFjdGl2YXRpb24ifQ:1mQr0R:Wh25LJ6A1PRVCQT730kXXIk4i2QJgz1a4aNDe7RoZM0
问题是链接上的端口是 8000,它重定向到后端(Django)。我想将用户重定向到作为前端(React)的端口 3000。
根据文档,我应该能够改变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
突变?
解决方案
你只需要更新到最新版本。
pip install --upgrade django-graphql-auth
推荐阅读
- html - 如何放置angularjs复选框?
- unity3d - 有没有办法修复这个相机错误?
- javascript - 获取单元格值的问题
- c# - P/Invoking const char 指针和 int 引用
- hive - 为什么在使用 hdfs 数据创建 hive 表时让我清空表
- python - 如何将多列数据框乘以另一个单列df?
- c# - 获取 newtonsoft.json 返回的动态对象的属性失败并出现异常
- javascript - 如何为 Phaser.js 游戏设置背景图像?
- python - 在 ABAQUS 中更改线程行为时出错
- python - multiprocessing.Lock 的 concurrent.futures 等价物是什么?