Yes. I exactly was thinking about this myself. And since the login with email is already done, it should also be possible. Idk about the actual implementation. Maybe it should be done with a plugin. If you can do it, let me know.
Yes authentication is done by discourse login api. And there is no problem with it.
does login with email link has expiry value? we can use the same thing or somthing similar.
Other things like fetching a new token is going to be done by the app itself.