Web3Auth is where passwordless auth meets non-custodial key infrastructure for Web3 apps and wallets. By aggregating OAuth (Google, Twitter, Discord) logins, different wallets and innovative Multi Party Computation (MPC) - Web3Auth provides a seamless login experience to every user on your application.
Packages | @latest Version |
Size | Description |
---|---|---|---|
🏠 Core | |||
@toruslabs/openlogin |
Default package to be used to work with OpenLogin auth system | ||
openlogin |
Wrapper package for @toruslabs/openlogin | ||
🔌 Modules | |||
@toruslabs/openlogin-jrpc |
Allows you to make JRPC requests easily. Creates & Manages JRPC Engines | ||
@toruslabs/openlogin-ed25519 |
Allows you to get an ed25519 private key from a secp256k1 private key | ||
@toruslabs/openlogin-subkey |
Allows you to derive an app-scoped key from a root key + client id via mimc hash | ||
@toruslabs/openlogin-starkkey |
Allows you to get a starknet compatible private key from a secp256k1 private key | ||
🐉 Low-Level | |||
@toruslabs/openlogin-utils |
Shared TypeScript Types |
Your OpenLogin account is a cryptographic key that acts as a proxy to traditional SSOs. Accounts are secured across user devices and authentication methods - there is no central server, no data honey pot. It combines both CustomAuth and tKey and provides you with a nice UI and UX flows
This module generates the javascript to include in a DApp via a script tag. It creates an iframe that loads the OpenLogin page and sets up communication streams between the iframe and the DApp javascript context.
- Typescript compatible. Includes Type definitions
Please refer to docs for API Reference available here.
Each sub package is distributed in 3 formats
esm
builddist/<MODULE_NAME>.esm.js
in es6 formatcommonjs
builddist/<MODULE_NAME>.cjs.js
in es5 formatumd
builddist/<MODULE_NAME>.umd.min.js
in es5 format without polyfilling corejs minified
By default, the appropriate format is used for your specified usecase You can use a different format (if you know what you're doing) by referencing the correct file
The cjs build is not polyfilled with core-js. It is upto the user to polyfill based on the browserlist they target
CDN's serve the non-core-js polyfilled version by default. You can use a different
jsdeliver
<script src="https://cdn.jsdelivr.net/npm/<MODULE_NAME>"></script>
unpkg
<script src="https://unpkg.com/<MODULE_NAME>"></script>
Ensure you have a Node.JS
development environment setup:
git clone https://github.com/torusresearch/OpenLoginSdk.git
cd OpenLoginSdk
npm i
npm run build
To run tests:
npm test
- This package requires a peer dependency of
@babel/runtime
- Node 16+
- You will need to whitelist your domain on developer dashboard
- Have a look at our GitHub Discussions to see if anyone has any questions or issues you might be having.
- Checkout our Troubleshooting Documentation Page to know the common issues and solutions
- Join our Discord to join our community and get private integration support or help with your integration.
OpenLoginSdk
is MIT Licensed