rootauth-js
RootAuth JS SDK
RootAuth JS SDK provides two entry styles in the same npm package:
import { RootAuthClient } from 'rootauth-js' // Hosted, auto loads styles
import { RootAuthClient } from 'rootauth-js/api' // API / headless
Install
npm install rootauth-js
Entry Points
Hosted
Use rootauth-js when you want the built-in login, register, reset password, MFA, router injection, or container mount behavior.
import { RootAuthClient } from 'rootauth-js'
const client = new RootAuthClient({
api_base_url: 'https://rootauth-api.rootauth.com',
app_id: 'your-app-id',
base_path: '/auth',
redirect_uri: window.location.origin + '/callback',
scope: ['openid'],
})
Hosted methods:
install(router | container)getSdkRoutes()unmount()
The hosted root entry auto includes package styles. If you want an explicit alias, use:
import { RootAuthClient } from 'rootauth-js/hosted'
API
Use rootauth-js/api when you only need headless API flows and want to avoid pulling in the hosted page system.
import { RootAuthClient } from 'rootauth-js/api'
const client = new RootAuthClient({
api_base_url: 'https://rootauth-api.rootauth.com',
app_id: 'your-app-id',
redirect_uri: window.location.origin + '/callback',
scope: ['openid'],
})
API methods:
getAppConfig()sendCode()login()verifyLoginMfa()register()resetPassword()googleOneTapLogin()thirdPartyLogin()setLocale()setAppId()getToken()isAuthenticated()logout()
Hosted Usage
Inject Routes Into a Host Router
import { createRouter, createWebHistory } from 'vue-router'
import { RootAuthClient } from 'rootauth-js'
const router = createRouter({
history: createWebHistory(),
routes: [],
})
const client = new RootAuthClient({
api_base_url: 'https://rootauth-api.rootauth.com',
app_id: 'your-app-id',
base_path: '/auth',
})
client.install(router)
Mount Into a Container
import { RootAuthClient } from 'rootauth-js'
const client = new RootAuthClient({
api_base_url: 'https://rootauth-api.rootauth.com',
app_id: 'your-app-id',
})
client.install('#rootauth-sdk')
Exported Types
Hosted root exports:
RootAuthClientPublicRootAuthApiClientPublicRootAuthClientConfigLoginSdkConfig- request / auth related types from
src/types/index.ts
API entry exports:
RootAuthApiClientPublicRootAuthClientConfig- shared request / auth related types
CDN / UMD
Hosted UMD:
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script src="https://unpkg.com/vue-router@4/dist/vue-router.global.js"></script>
<script src="https://unpkg.com/pinia@2/dist/pinia.iife.js"></script>
<script src="https://unpkg.com/element-plus/dist/index.full.js"></script>
<link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css" />
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/rootauth-js@<version>/dist/index.umd.js"></script>
<link rel="stylesheet" href="https://unpkg.com/rootauth-js@<version>/dist/style.css" />
The hosted UMD global is RootAuth.
API UMD is published separately at dist/api/index.umd.js with global RootAuthApi.
Development
npm install
npm run build
npm run build:hosted
npm run build:api
npm run analyze:hosted
npm run analyze:api
Notes
modehas been removed. Entry path now determines behavior.rootauth-jsdefaults to Hosted and auto loads styles.rootauth-js/apiis the lightweight headless entry.
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 2.0.3 | 3.4.0 | MIT | |
| 2.0.2 | 3.4.0 | MIT | |
| 2.0.1 | 3.4.0 | MIT | |
| 1.0.29 | 3.4.0 | MIT | |
| 1.0.28 | 3.4.0 | MIT | |
| 1.0.27 | 3.4.0 | MIT | |
| 1.0.26 | 3.4.0 | MIT | |
| 1.0.25 | 3.4.0 | MIT | |
| 1.0.24 | 3.4.0 | MIT | |
| 1.0.23 | 3.4.0 | MIT | |
| 1.0.22 | 3.4.0 | MIT | |
| 1.0.21 | 3.4.0 | MIT | |
| 1.0.20 | 3.4.0 | MIT | |
| 1.0.19 | 3.4.0 | MIT | |
| 1.0.18 | 3.4.0 | MIT | |
| 1.0.17 | 3.4.0 | MIT | |
| 1.0.16 | 3.4.0 | MIT | |
| 1.0.15 | 3.4.0 | MIT | |
| 1.0.14 | 3.4.0 | MIT | |
| 1.0.13 | 3.4.0 | MIT | |
| 1.0.12 | 3.4.0 | MIT | |
| 1.0.11 | 3.4.0 | MIT | |
| 1.0.10 | 3.4.0 | MIT | |
| 1.0.9 | 3.4.0 | MIT | |
| 1.0.8 | 3.4.0 | MIT | |
| 1.0.7 | 3.4.0 | MIT | |
| 1.0.6 | 3.4.0 | MIT | |
| 1.0.5 | 3.4.0 | MIT | |
| 1.0.4 | 3.4.0 | MIT | |
| 1.0.2 | 3.4.0 | MIT |
Showing the latest 30 of 32. See every release on npm
Pre-releases (187)
| Version | Released | Vue | License |
|---|---|---|---|
| 1.0.31-beta.10 | 3.4.0 | MIT | |
| 1.0.31-beta.9 | 3.4.0 | MIT | |
| 1.0.31-beta.8 | 3.4.0 | MIT | |
| 1.0.31-beta.7 | 3.4.0 | MIT | |
| 1.0.31-beta.6 | 3.4.0 | MIT | |
| 1.0.31-beta.5 | 3.4.0 | MIT | |
| 1.0.31-beta.4 | 3.4.0 | MIT | |
| 1.0.31-beta.3 | 3.4.0 | MIT | |
| 1.0.31-beta.2 | 3.4.0 | MIT | |
| 1.0.30-beta.5 | 3.4.0 | MIT | |
| 1.0.30-beta.4 | 3.4.0 | MIT | |
| 1.0.30-beta.3 | 3.4.0 | MIT | |
| 1.0.30-beta.2 | 3.4.0 | MIT | |
| 1.0.30-beta.1 | 3.4.0 | MIT | |
| 1.0.30-beta.0 | 3.4.0 | MIT | |
| 1.0.29-beta.4 | 3.4.0 | MIT | |
| 1.0.29-beta.3 | 3.4.0 | MIT | |
| 1.0.29-beta.2 | 3.4.0 | MIT | |
| 1.0.29-beta.1 | 3.4.0 | MIT | |
| 1.0.29-beta.0 | 3.4.0 | MIT | |
| 1.0.28-beta.2 | 3.4.0 | MIT | |
| 1.0.28-beta.1 | 3.4.0 | MIT | |
| 1.0.28-beta.0 | 3.4.0 | MIT | |
| 1.0.18-beta.5 | 3.4.0 | MIT | |
| 1.0.18-beta.4 | 3.4.0 | MIT | |
| 1.0.18-beta.3 | 3.4.0 | MIT | |
| 1.0.18-beta.2 | 3.4.0 | MIT | |
| 1.0.18-beta.1 | 3.4.0 | MIT | |
| 1.0.14-beta.16 | 3.4.0 | MIT | |
| 1.0.14-beta.15 | 3.4.0 | MIT |
Showing the latest 30 of 187. See every release on npm