如何更改验证邮件中`GRAPHQL_AUTH`中的`frontend_domain`端口?
How to change the `frontend_domain` port in `GRAPHQL_AUTH` in the verification mail?
我正在研究 Docker-Django-Graphene-React 堆栈,其中 Django 是后端,它通过充当前端的 React 通过 Graphene 接收 GraphQL 查询。一切都在 docker 个容器中运行。 Django 在端口 8000 上,React 在 3000 上。
我目前正在使用 python 的 django-graqhql-auth
包进行身份验证。
当用户在前端表单上注册自己时,register
变更会正确地发送到后端并创建帐户。
同时向用户的注册邮件地址发送一封邮件,其中包含验证 link 以及必须与 veryifyToken
突变一起使用的令牌,以便将帐户标记为已验证.
下面是 link 的一个例子:
http://localhost:8000/activate/eyJ1c2VybmFtZSI6IkpvaG5zb2ZuZiIsImFjdGlvbiI6ImFjdGl2YXRpb24ifQ:1mQr0R:Wh25LJ6A1PRVCQT730kXXIk4i2QJgz1a4aNDe7RoZM0
问题是 link 上的端口是 8000,重定向到后端(Django)。我想将用户重定向到前端(React)端口 3000。
根据 documentation,我应该可以更改我所做的 frontend_domain
。我还更改了 path
和 protocol
值以查看它是否有效:
这是我放入后端 settings.py
文件的内容:
GRAPHQL_AUTH = {
"EMAIL_TEMPLATE_VARIABLES": {
"protocol": "https",
"frontend_domain": "localhost:3000",
"path": "verify",
}
}
最后我得到了这个 link:
https://localhost:8000/verify/eyJ1c2VybmFtZSI6IkpvaG5zZmdvZmdzbmRmIiwiYWN0aW9uIjoiYWN0aXZhdGlvbiJ9:1mQrIr:2o818drqPP8oVTE4E6fg2F6vMu2zITOjkF96z5K1whY
protocol
和 path
变量已正确更改,但 frontend_domain
未正确更改。问题是我无法将用户直接重定向到前端。
有办法解决这个问题吗?或者我是否必须在后端创建一个路由,它将用户重定向到带有令牌的前端,以便我可以使用 verifyToken
突变?
你只需要更新到最新版本即可。
pip install --upgrade django-graphql-auth
我注意到你在 protocol: "https" 中使用了,但应该是 protocol: "http"。
我在使用 Django 和 Graphql Auth 的同一个项目中,我使用协议将电子邮件发送到前端 Next.js。
GRAPHQL_AUTH = {
"EMAIL_TEMPLATE_VARIABLES": {
"protocol": "http",
"frontend_domain": "localhost:3000",
"path": "verify",
}
}
我可能会这么晚才回答,但将 frontend_domain
替换为 domain
就可以了。
我正在研究 Docker-Django-Graphene-React 堆栈,其中 Django 是后端,它通过充当前端的 React 通过 Graphene 接收 GraphQL 查询。一切都在 docker 个容器中运行。 Django 在端口 8000 上,React 在 3000 上。
我目前正在使用 python 的 django-graqhql-auth
包进行身份验证。
当用户在前端表单上注册自己时,register
变更会正确地发送到后端并创建帐户。
同时向用户的注册邮件地址发送一封邮件,其中包含验证 link 以及必须与 veryifyToken
突变一起使用的令牌,以便将帐户标记为已验证.
下面是 link 的一个例子:
http://localhost:8000/activate/eyJ1c2VybmFtZSI6IkpvaG5zb2ZuZiIsImFjdGlvbiI6ImFjdGl2YXRpb24ifQ:1mQr0R:Wh25LJ6A1PRVCQT730kXXIk4i2QJgz1a4aNDe7RoZM0
问题是 link 上的端口是 8000,重定向到后端(Django)。我想将用户重定向到前端(React)端口 3000。
根据 documentation,我应该可以更改我所做的 frontend_domain
。我还更改了 path
和 protocol
值以查看它是否有效:
这是我放入后端 settings.py
文件的内容:
GRAPHQL_AUTH = {
"EMAIL_TEMPLATE_VARIABLES": {
"protocol": "https",
"frontend_domain": "localhost:3000",
"path": "verify",
}
}
最后我得到了这个 link:
https://localhost:8000/verify/eyJ1c2VybmFtZSI6IkpvaG5zZmdvZmdzbmRmIiwiYWN0aW9uIjoiYWN0aXZhdGlvbiJ9:1mQrIr:2o818drqPP8oVTE4E6fg2F6vMu2zITOjkF96z5K1whY
protocol
和 path
变量已正确更改,但 frontend_domain
未正确更改。问题是我无法将用户直接重定向到前端。
有办法解决这个问题吗?或者我是否必须在后端创建一个路由,它将用户重定向到带有令牌的前端,以便我可以使用 verifyToken
突变?
你只需要更新到最新版本即可。
pip install --upgrade django-graphql-auth
我注意到你在 protocol: "https" 中使用了,但应该是 protocol: "http"。
我在使用 Django 和 Graphql Auth 的同一个项目中,我使用协议将电子邮件发送到前端 Next.js。
GRAPHQL_AUTH = {
"EMAIL_TEMPLATE_VARIABLES": {
"protocol": "http",
"frontend_domain": "localhost:3000",
"path": "verify",
}
}
我可能会这么晚才回答,但将 frontend_domain
替换为 domain
就可以了。