At the Meta Cartel Demo Day ETH Magicians ENS discussion we presented an idea for an open standard for logging in with ENS. I’d like to open up the discussion here for further discussion. The idea was inspired by Universal Logins and Web3Connect.
ENS allows users to store data in a key value store associated with a given ENS name. To allow for a wallet agnostic login widget (example below), users can add urls to web3 providers in their ENS name’s key value store under keys such as “provider-mainnet”. In the widget users can enter their ENS name and click “log in”. The widget can then look up the appropriate provider URL in the ENS contract and then download the provider from that URL. The provider can then be passed to the dapp which will then instantiate web3 (or other alternatives) with the provider. (e.g.
var web3 = Web3(provider)). As @danfinlay suggested here, a user could register different providers for each network. It was also suggested by @cmeisl that users could register different providers to be used on desktop vs mobile.
We plan to build a PoC (with @shane, @amxx, and @dobrokhvalov) for our ETHBerlin hack and then write up a draft of the standard but wanted to open up the discussion for ideas, suggestions, and concerns from the rest of the ETH Magicians community in the meantime.