如何更改验证邮件中`GRAPHQL_AUTH`中的`frontend_domain`端口?
Posted
技术标签:
【中文标题】如何更改验证邮件中`GRAPHQL_AUTH`中的`frontend_domain`端口?【英文标题】:How to change the `frontend_domain` port in `GRAPHQL_AUTH` in the verification mail? 【发布时间】:2021-11-11 12:01:53 【问题描述】:我正在开发一个 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 上重定向用户。
根据documentation,我应该可以更改我所做的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
突变?
【问题讨论】:
【参考方案1】:您只需更新到最新版本。
pip install --upgrade django-graphql-auth
【讨论】:
以上是关于如何更改验证邮件中`GRAPHQL_AUTH`中的`frontend_domain`端口?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用与 Firebase 提供的不同的电子邮件服务来验证电子邮件和更改密码?