rootauth-js
v2.0.3
Published
RootAuth JS SDK for Vue3
Readme
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 / headlessInstall
npm install rootauth-jsEntry 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:apiNotes
modehas been removed. Entry path now determines behavior.rootauth-jsdefaults to Hosted and auto loads styles.rootauth-js/apiis the lightweight headless entry.
