If you put a normal webpage at the URL you provide when creating the verification, you could use javascript to retrieve the userId and secret. Then you use the appwrite SDK to confirm the verification.
Since you want to use deep linking into Flutter, you have to set that up. There are separate systems that android and iOS use for deep linking called Universal Links (iOS) and Deep Links/Dynamic Links/App Links (Android). Flutter provides a package that Joyti linked to which helps set this up for Flutter. These systems are a part of the operating system and Flutter, not Appwrite. But if you set them up correctly you can forward the query parameters into your app when the operating system opens your app due to the link being clicked.
One hard problem you'll have to figure out is how to forward the query parameters into Flutter. It can be done, but it'll be a bit more involved since Flutter runs on both Android and iOS (but neither operating system supports deep link parameters automatically).
You may find it easier to just write a small static webpage that verifies the account, then forwards the user to a deep link into the app. Since URL paths are supported well on both platforms, you could forward the user to a fail or a success path in your app. You can host static webpages for free.
Optionally, you could just host a static webpage that converts the query parameters into path parameters inside your app. Those will be easier to forward into Flutter and verify. It'll be like yourdomain.com/verifyAccount/$23nj3434n34/sdfkn53
where $23nj3434n34
is the userId and sdfkn53
is the secret.
All of the solutions I've mentioned won't require the user to do anything other than click a link in the email. This provides a better user experience than how some other services email the user a code that they have to copy over.
That explains everything, thanks a lot.
I'm trying your second option ,what shoud i do about invalid url: URL host must be one of:.....
when passing the static webpage url?
same question here... I guess we have to add a custom domain in the appwrite console, but let's see what appwrite developers have to say about that
You need to add a platform, not domain
Make sure to add a web platform and specify the hostname
Ahaaa, gotcha
Thanks
@hamed if your query is solved, shall I mark this thread as solved so others can see it?
Yes it solved.
awesome!
can you please add [SOLVED] in the title of this post?
[SOLVED] Deep link with Email verification
have you actually made it work? It works for me but only if i click the link from desktop. On mobile it just throws an exception
What a coincidence 🙂 i was gonna ask you...Yeah it worked, i passed the static website url and the appwrite did sent that link with query , but im still trying to figure out why this website couldnt connect to my endpoint. Let me know if you wanna work together on our issue!
Your current appwrite instance is on localhost now, right?
Yes
Alright. Give me a few minutes, I think I've figured it out. The procedure to verify your account when the appwrite instance is on localhost is a littble bit different than we were doing previously. Just allow me a few minutes to finish testing and I'll explain how to make it work in dev environment
Alright.
Yes, finally been able to handle this annoying process
let's continue in https://discord.com/channels/564160730845151244/1075749666009927750
Recommended threads
- Apple OAuth Scopes
Hi Hi, I've configured sign in with apple and this is the response i'm getting from apple once i've signed in. I cant find anywhere I set scopes. I remember se...
- Sign In With Apple OAuth Help
Hi All! I've got a flutter & appwrite app which Im trying to use sign in with apple for. I already have sign in with google working and the function is the sam...
- [SOLVED] OAuth With Google & Flutter
Hi all, I'm trying to sign in with google and it all goes swimmingly until the call back. I get a new user created on the appwrite dashboard however the flutte...