Skip to content

idmanagement/OpenLoginSdk

 
 

Repository files navigation

OpenLoginSdk

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
yarn
yarn build

To run tests:

yarn test

Requirements

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

License

OpenLoginSdk is MIT Licensed

About

Pluggable auth infrastructure for Web3 wallets and dapps

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 96.1%
  • JavaScript 3.8%
  • Shell 0.1%