murar8 / OpenLoginSdk

Pluggable auth infrastructure for Web3 wallets and dapps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenLoginSdk by Web3Auth

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.

lerna code style: prettier npm

Packages @latest Version Size Description
๐Ÿ  Core
@toruslabs/openlogin npm version minzip Default package to be used to work with OpenLogin auth system
openlogin npm version minzip Wrapper package for @toruslabs/openlogin
๐Ÿ”Œ Modules
@toruslabs/openlogin-jrpc npm version minzip Allows you to make JRPC requests easily. Creates & Manages JRPC Engines
@toruslabs/openlogin-ed25519 npm version minzip Allows you to get an ed25519 private key from a secp256k1 private key
@toruslabs/openlogin-subkey npm version minzip Allows you to derive an app-scoped key from a root key + client id via mimc hash
@toruslabs/openlogin-starkkey npm version minzip Allows you to get a starknet compatible private key from a secp256k1 private key
๐Ÿ‰ Low-Level
@toruslabs/openlogin-utils npm version minzip Shared TypeScript Types

Introduction

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.

Features

  • Typescript compatible. Includes Type definitions

Please refer to docs for API Reference available here.

Installation

Bundling

Each sub package is distributed in 3 formats

  • esm build dist/<MODULE_NAME>.esm.js in es6 format
  • commonjs build dist/<MODULE_NAME>.cjs.js in es5 format
  • umd build dist/<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

Directly in Browser

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>

Build

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

Requirements

  • This package requires a peer dependency of @babel/runtime
  • Node 16+
  • You will need to whitelist your domain on developer dashboard

๐Ÿ’ฌ Troubleshooting and Discussions

  • 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.

License

OpenLoginSdk is MIT Licensed

About

Pluggable auth infrastructure for Web3 wallets and dapps


Languages

Language:TypeScript 94.7%Language:JavaScript 4.9%Language:HTML 0.4%Language:Shell 0.1%