Discord basically copied IRC and added voice chat. One didn't need an account for IRC why should they need one on Discord? Maybe to retain their nickname but that's it. And it was just a password, no email no phone number no nothing else.
I really liked the temporary and anarchic nature of IRC. No one was really in control.
The next logical step would have been to make it encrypted and add p2p voice chat via DCC or some other method. SILC tried the former but failed to gain traction, people either stuck with IRC or moved on to AIM and Yahoo Messaneger.
You can easily offer an optional data safeguard feature for account restoration.
This is especially pronounced now that application sync between devices is more or less universal on iOS and (to a lesser extent) Android.
To the layman, the intuitive perspective is that it "just works" and is exactly how they left it previously, regardless of whether they have wiped their phone or replaced it. This isn't a dig at tech illiterate people but it is just how things are for the normal person. Hell I have been almost burned by this in the past when I moved phones and a certain app(FGO)'s data didn't transfer over.
TLDR The most intuitive thing is working out of the box and seamlessly transferring to a new device. The easiest way to do this is to allow it to be bound to a user's Google account, Microsoft account, and Apple ID.
Those little security-by-securing-all-handset mechanisms kind of worked while there weren’t any publicly known rooted phone, in the wild, that can establish a session on featurephone APN, but emergence of iPhone and Android extinguished it.
I know of at least one carrier, but is only usable for their own customer self care portals/apps. There it is possible to auto-login to their app if it is accessed via their network and not via Wi-Fi. For security reasons only a limited amount of functionality is accessible. Neither customer data can be changed nor can any actions resulting in additional cost (buying packs / options) be performed without additional authentication mechanism of a higher security level (auto-login via SMS or use of a password).
The MSISDN is only added to the HTTP request internally in their secure network and never exposed externally.
Like, have http://my.number/ return the phone number for identification (though it would need some permission, I don't want every app to have access to it).
Make a HTTP POST with some data to http://my.number/validate and have it signed by the carrier, validate it against a list of public keys per carrier. Not sure why that wouldn't work today? It could even be a private/reserved IP address routed by all carriers to their auth service.
Edit: obviously, it wouldn't work over Wi-Fi without some cooperation at the OS level.
The idea is that, they already created an account by launching your code, so you don’t have to ask for account creation. Just ask for the information that is necessary to run your services and you can provide an optional method for account recovery.
Probably better if the browser started to come with an e-mail set in it - then web admins can query for that and users have the option to change the email when they so choose...
So, the users who switch from iphone to an iphone don’t loose anything if they follow the default upgrade process.
Sounds great while iCloud is up/you use iOS...prepare for the shitestorm when its not or the user decides to leave Apple... 'Easy' and 'Convenient' won't be the terms anyone is using.
But when it does go away (app reinstalls, phone upgrades, phone breaks etc), it causes a disproportionately catastrophic event: complete loss of access. Providing a simple email address would prevent this, but expecting the common user to have the wisdom on account recovery strategies is too optimistic. That's why many apps ask for email during registration.
That can be tolerable for Discord, because your loss is just your friends list and access to some servers, which can be recovered easily through social means. That's not possible or feasible for every kind of app.