-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Is your feature request related to a problem? Please describe.
User authentication is a big topic for software application developers. I often see this as a common questions for devs new to the space - "how does authentication work on Ethereum"? They often (reasonably) bring mental models from web2 & want to understand how Ethereum users "sign in".
There's some existing resources when Googling "ethereum authentication" but the 1st result is this:
https://moralis.io/ethereum-authentication-full-tutorial-to-ethereum-login-programming/
Which I don't think is a great neutral resource, as it just pushes the user to create an account & use Moralis vs. actually explaining how things work & what options a developer has when adding authentication.
Describe the solution you'd like
Create a new documentation page (perhaps under the "Ethereum stack" section) that covers how authentication works in an Ethereum context. This could be a fairly simple resource, explaining that this is typically handled by connecting an Ethereum wallet to an application via a client library like ethers.js, web3.js or Wallet Connect.
As part of this explanation it may be worth getting into how wallets & accounts work (i.e. the public-private key cryptography that allows users to sign messages proving control of an account).
This could also be a useful page to list emerging standards & best practices, like Sign in with Ethereum:
- https://eips.ethereum.org/EIPS/eip-4361
- https://auth0.com/blog/sign-in-with-ethereum-siwe-now-available-on-auth0/
Describe alternatives you've considered
Perhaps we should also/instead add a page covering "Ethereum wallets", which we have an existing page on but not for developers who want to learn how wallets work & how they add wallet support to a software application.
Want to contribute?
We love contributions from the Ethereum community! Please comment on an issue if you're interested in helping out with a PR.