rootauth-js

RootAuth JS SDK for Vue3
28,879
Install
npm install rootauth-js
Latest Version:2.0.3
Vue:3
License:MIT
Last Updated:May 14, 2026
Links: npm
Maintainer: rootauth

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:

  • RootAuthClientPublic
  • RootAuthApiClientPublic
  • RootAuthClientConfig
  • LoginSdkConfig
  • request / auth related types from src/types/index.ts

API entry exports:

  • RootAuthApiClientPublic
  • RootAuthClientConfig
  • 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

  • mode has been removed. Entry path now determines behavior.
  • rootauth-js defaults to Hosted and auto loads styles.
  • rootauth-js/api is the lightweight headless entry.

Related Packages

runedu-js-sdk

Javascript SDK of runedu project

6,628
dingcloud-sdk

Ding-cloud数据埋点sdk

633
@bloomreach/vue-sdk

Bloomreach SPA SDK for Vue

75,260 19
skycity-ai-sdk

SkyCity AI SDK for Web and Mobile platforms

2,903
tianzhi-ai-sdk

AI SDK for Web and Mobile platforms

1,694

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