我在Auth0中启用了用户/密码连接,我希望在继续之前验证电子邮件。我启用了相应的规则来强制进行电子邮件验证,并且一切似乎都按预期进行。
不过,我注意到注册后会发送验证电子邮件。我希望有一个按钮允许再次发送该电子邮件,但这似乎是不可能的。
用户如何从用户界面中请求验证电子邮件?
调用https://<tenantName>.auth0.com/api/v2/jobs/verification-email
不会,因为令牌需要 update:users 范围。我们可以通过请求https://<tenantName>.auth0.com/oauth/token
来获得具有该范围的令牌,但这意味着客户端机密将被公开。
答案 0 :(得分:0)
有一个解决方法,我将其用作电子邮件后验证信号。 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"
}
}'