我在 Auth0 中启用了用户/密码连接,我希望在继续之前验证电子邮件。我启用了相应的规则来强制电子邮件验证,一切似乎都按预期工作。
不过,我注意到在注册时发送了验证电子邮件。我想要一个按钮来允许再次发送该电子邮件,但这似乎不可能。
用户如何从 UI 请求验证电子邮件?
调用 https://<tenantName>.auth0.com/api/v2/jobs/verification-email
不会,因为 token 需要 更新:用户 范围。我们可以通过向 https://<tenantName>.auth0.com/oauth/token
发出请求来获得具有该范围的 token 。 ,但这意味着客户端 secret 将被暴露。
最佳答案
对此有一个解决方法,我将其用作邮件后验证信号。
auth0 创建 票并向我们发送一个带有票证 ID 作为查询字符串的链接以验证电子邮件,发送的链接如下所示:
https://<domain>/u/email-verification?ticket=h7CtBxPXiej7FtaKo0UHYJtdWPazaHhs#
您可以使用此 api 重新发送电子邮件验证链接,这是请求的示例:curl --location --request POST 'https://<domain>/api/v2/tickets/email-verification' \
--header 'Authorization: Bearer <token> \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfduid=d7aa37a65221ad2c0fd17ec71c76f13eb1603727648; did=s%3Av0%3A694d6590-1a83-11eb-877d-d1f701a6b5e1.qweiCQT%2Fah2JbVlHe8mU7En5egRFtrEmjETM%2B%2BIKmzc; did_compat=s%3Av0%3A694d6590-1a83-11eb-877d-d1f701a6b5e1.qweiCQT%2Fah2JbVlHe8mU7En5egRFtrEmjETM%2B%2BIKmzc' \
--data-raw '{
"result_url": "<redirection_url>",
"user_id": <auth0_user_id>,
"ttl_sec": 0,
"includeEmailInRedirect": false,
"identity": {
"user_id": "<user_id>",
"provider": "auth0"
}
}'
关于email - Auth0:让用户重新发送验证电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51789968/