Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Auth0: Let user resend the Verification Email

I enabled the user/password connection in Auth0, and I would like to have the emails verified before proceeding. I enabled the corresponding rule to force the email verification and everything seems to work as expected.

Still, I noticed that the verification email is sent upon signing up. I want a button to allow sending that email again, but this doesn't seems to be possible.

How can a user, from the UI, ask for a verification email?

Calling https://<tenantName>.auth0.com/api/v2/jobs/verification-email won't do, because the token needs the update:users scope. We can get a token with that scope with a request to https://<tenantName>.auth0.com/oauth/token, but that means the client secret would be exposed.

like image 302
HNDK Avatar asked Nov 08 '22 03:11

HNDK


1 Answers

there is a work around for this, I use it as a post email verification signal. auth0 create a ticket and send us a link with the ticket id as query string to verify the email, the link sent is like below:

https://<domain>/u/email-verification?ticket=h7CtBxPXiej7FtaKo0UHYJtdWPazaHhs#

you can use this api to resend the email verfication link, here is an example of the request:

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"
  }
}'
like image 131
alim91 Avatar answered Nov 15 '22 07:11

alim91