Spruce
  • Home
  • Twitter
  • SSX
Sign in Subscribe
Sign-In with Ethereum

Sign-In with Ethereum to Your Auth0-Powered Application

In our pursuit of best serving web2 and web3 organizations, we've partnered with Auth0 to offer a Sign-In with Ethereum option in their marketplace.

  • Spruce

Spruce

Apr 29, 2022 • 4 min read
Sign-In with Ethereum to Your Auth0-Powered Application

Ensuring widespread Sign-In with Ethereum adoption across apps and services requires serving both web3 applications and more traditional apps and services in web2. Typically, most traditional web2 services already support OpenID Connect, and were open to adding a new Identity Provider that supported the Sign-In with Ethereum workflow.

By meeting these services where they are today, we can provide a pragmatic stepping stone towards true decentralization, with an upgrade path to direct authentication. In our pursuit of best serving these organizations, we've partnered with Auth0 to offer a Sign-In with Ethereum option in their marketplace:

Signing in with Ethereum wallets is now an available option for all Auth0 clients! A big thanks to our friends (frens?) at @SpruceID.

We're excited to see how the Web3 world continues to unlock new tools for identity, privacy, and security: https://t.co/McdjVI7wwy

— The Auth0 Lab (@Auth0Lab) April 11, 2022

Auth0 is the leading platform for authentication and authorization for web2 applications and services in retail, publishing, B2B SaaS, and more. We are grateful to have worked with Auth0 and the Auth0 Lab team to bring this integration to life and drive web3-based authentication forward.

GitHub - spruceid/siwe-oidc: OpenID Connect Identity Provider for Sign-In with Ethereum.
OpenID Connect Identity Provider for Sign-In with Ethereum. - GitHub - spruceid/siwe-oidc: OpenID Connect Identity Provider for Sign-In with Ethereum.
GitHubspruceid

The integration uses our open-source OpenID Connect Identity Provider for Sign-In with Ethereum implementation in Rust. As mentioned in Auth0's blog on the integration, the entire workflow involved can be seen in this activity diagram:

Aside from just authenticating users, the workflow also can tap into relevant blockchain data to enhance the session, such as resolving a user's ENS name and avatar. A number of wallets are natively supported in the integration, including MetaMask, Coinbase Wallet, and more via WalletConnect.

Instructions on how to set up the integration in your Auth0 application can be found here:

Sign In With Ethereum (SIWE), Now Available on Auth0
Marketplace partner Spruce has expanded the Auth0 platform to use web3 wallets as an identity source.
Auth0 - BlogSamuel Frank

Example Application

Additionally, we've built an example application to show off the authentication flow which can be found here. The example features a mock NFT gallery website where users can Sign-In with Ethereum, and their NFT holdings are resolved via the OpenSea API once authenticated.

\

After hitting the login button, users are redirected to the Auth0 flow and Sign-In with Ethereum using the provided interface. Once authenticated, users are then redirected back to the application where they can view their gallery.

As part of the login, the application also resolves the user's ENS name if present. Users can then return to the main splash screen or disconnect from the application.


As mentioned previously, we're also working on creating a community-owned identity server, with the ENS DAO which we felt was the best credibly-neutral organization to be the infrastructure host.

Sign-In with Ethereum - Decentralizing an Identity Provider Server
While digging deeper on Sign-In with Ethereum adoption vectors for Web2, we found that many traditional services wanted to integrate Sign-In with Ethereum. Most already supported OpenID Connect (OIDC) and were open to adding a new Identity Provider (IdP) that supported the workflow. While we encoura…
SpruceRocco

If you're interested in integrating Sign-In with Ethereum into your dapp, app, or service, we are more than happy to help and provide any support we can. As we continue our work supporting Sign-In with Ethereum, we especially welcome implementers who already have users relying on similar workflows, authors of related EIPs, and wallet vendors who would like to do more to support user-owned identities to join us.

If you are interested in being involved, please join our Discord server:

Sign up for more like this.

Enter your email
Subscribe
Spruce Developer Update #29

Spruce Developer Update #29

At Spruce, we’re letting users control their identity and data across the web. Here’s the latest from our development efforts.
Mar 6, 2023 5 min read
Plant a Tree and Control Your Data with SSX At ETHDenver

Plant a Tree and Control Your Data with SSX At ETHDenver

We're happy to announce that we are demoing an app called SSX Quest that shows how Sign-In with Ethereum can extend user control into interactions with user-controlled data, beyond just identity.
Mar 2, 2023 6 min read
Spruce at ETHDenver 2023

Spruce at ETHDenver 2023

It’s the greatest time of year again–when thousands of developers and Web3 aficionados descend upon the mountains of Colorado for a week of Ethereum fandom, activities, events, and hackathons. ETHDenver is here and Spruce will have events, activities, bounties, talks and more.
Feb 27, 2023 5 min read
Spruce © 2023
Powered by Ghost