I am building a SaaS application and im currently using Auth0 for authentication. For now I only want to use Auth0 to handle user logins and partial user signup. When a user signs up I want to direct them to the Auth0 signup page to enter a username and password, then I want to redirect them to a form on my app where they can fill out the remaining information. I understand Auth0 sends out a confirmation email to the user immediately after sign up and I want to delay this message until after the user fills out the remaining user info on my app. My app is build with Asp.Net 4.5, SQL Server, and AngularJS. What would be the most efficient way to delay the confirmation email until after the user fills out the remaining information on my app?
You could consider disabling the verification email template which would prevent the emails from being sent and then use the Auth0 Management API /api/v2/tickets/email-verification
endpoint to obtain an email verification ticket which your own system would deliver to the end-user email address. This has the flexibility that you are in complete control of the timings at which the email is sent, but also means your own system need to build the email message and send it.
Another option to create users without triggering the email verification would be to use the Auth0 Management API /api/v2/users
endpoint and specify "verify_email": false
in the payload. This would allow for the template to be left enabled while still not immediately sending an email (you could do that later by using the /api/v2/jobs/verification-email
endpoint). However, this does not seem applicable to you because if end-users are signing-up through the hosted login page then they are using the public signup endpoint which would not allow to specify an option for the email not to be sent.