Go to file
Howard 2e19c39625
Update WebAuthn registration and authentication to use new and safer impl (#5)
* Update WebAuthn registration and authentication to use new and safer flow

* Implement usernameless WebAuthn registration + Authentication

The username is solely stored in the client side for the end-user to conveniently refer to.

* Use updated SDK interface

* Implement executeJs in webauthn demo

* Show executeJs sig

* Fix username bug

* encodeURIComponent for username

* Use latest working SDK version

* Use serrano
2023-04-06 18:10:26 -07:00
public Implement WebAuthn auth for minting PKP and storing encryption condition (#2) 2023-02-23 14:37:39 -08:00
src Update WebAuthn registration and authentication to use new and safer impl (#5) 2023-04-06 18:10:26 -07:00
tools minting and getting eth address works 2022-11-08 15:48:04 -08:00
.gitignore Update env name 2022-12-10 10:01:14 -08:00
.prettierrc Implement WebAuthn auth for minting PKP and storing encryption condition (#2) 2023-02-23 14:37:39 -08:00
package.json Update WebAuthn registration and authentication to use new and safer impl (#5) 2023-04-06 18:10:26 -07:00
README.md better condition, docs 2022-11-10 21:29:56 -08:00
tsconfig.json Transform more files to TS, replace lit-js-sdk with js-sdk (#4) 2023-02-23 16:39:50 -08:00
yarn.lock Update WebAuthn registration and authentication to use new and safer impl (#5) 2023-04-06 18:10:26 -07:00

Lit Protocol Oauth -> Wallet example

This project lets you start using Ethereum with just a Google Account. It's a simple example of how to use the Lit Protocol Oauth service to authenticate users and then use their Ethereum address.

This project specifically:

  1. Uses Google Oauth to auth the user
  2. Mints a PKP token for the user, with their Google account as a valid auth method
  3. Uses the PKP token to get an Ethereum address for the user
  4. Generates a local session key for the user and stores it in LocalStorage
  5. Uses the Lit Protocol's PKP Session Signing service to sign that session key with their PKP
  6. Uses the local session key to sign a request to encrypt and decrypt a string that only the user can decrypt.

How to run

First, run yarn install. Then run yarn start to run this project. You'll need a Metamask wallet set to the Mumbai network with some testnet MATIC in it.

Sign in with Google and wait until it says "PKP Minted". Then, click the "Encrypt then Decrypt with Lit" button. If you see the word "Success!" at the top, then it worked! Open the dev console to see how it works.