Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@jxstjh/auth-client

Package Overview
Dependencies
Maintainers
0
Versions
70
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jxstjh/auth-client

匹配4a认证的客户端工具包 🌼

  • 0.1.5-beat18
  • npm
  • Socket score

Version published
Weekly downloads
10
increased by100%
Maintainers
0
Weekly downloads
 
Created
Source

AuthClinet

匹配4a单点SSO的前端工具包.

如何使用

当你熟悉单点SSO背后的流程后,你会发现其实变通使用的方法非常自由.但是我们强烈建议按照本文档的使用方法 $ npm install @jxstjh/auth-client

站点统计工具类

import { SiteAnalysis } from '@jxstjh/auth-client'

const IS_PROD = ['production', 'prod'].includes(process.env.NODE_ENV)
window.SA = new SiteAnalysis({
  siteAnalysisServer: 'https://count.jxwrd.gov.cn:30111', // 统一上报服务器
  appId: 'xxxx', // appId 人工申请
  interval: 30, // 上报日志频率 单位秒
  production: IS_PROD // 开发模式下不上报
})
// 在全局路由拦截器中 加入页面访问日志
router.afterEach(() => {
  window.SA.recordPage() // 记录页面log
  // something else...
})
// 登录成功时候 取到用户名
window.SA.setLoginName(loginName)

SSO 工具类

import { AuthClient } from '@jxstjh/auth-client'

const startupService = () => {
  return new Promise((resolve, reject) => {
    // doSomething else ...根据实际情况执行其它前置逻辑
    const ac = new AuthClient({
      routerMode: 'history', // 'history'||'hash' 根据实际项目路由情况选择 缺省值'hash'
      SSOServer: 'https://auth-test.jxwrd.gov.cn/',// 必填 sso认证地址 
      resourceCode: 'code', // 必填 resourceCode || 'code'
    })
    ac.on('error', (err) => {
      return reject(err)
    })
    ac.on('inited', (e) => {
      console.log(e)
      // TODO:成功拿到用户信息及token
      // 设置好vuex
      return resolve()
    })
  })
}
startupService()
  .then(()=>{
    new Vue({
     router,
     store,
     render: h => h(App)
   })
  })
  .catch((err) => {
    console.log(err)
  })

保留登录页

import { AuthClient } from '@jxstjh/auth-client'

const startupService = () => {
  return new Promise((resolve, reject) => {
    const ac = window.loginData = new AuthClient({
      routerMode: 'history', // 'history'||'hash' 根据实际项目路由情况选择 缺省值'hash'
      SSOServer: 'https://auth-test.jxwrd.gov.cn/',// 必填 sso认证地址
      resourceCode: 'code', // 必填 resourceCode || 'code'
      method: 'custom', // 重要,不添加该属性会自动跳转至 4A 登录页
    })

    ac.on('inited', (e) => {
      // TODO:成功拿到用户信息及token
      // 设置好vuex
      return resolve(e)
    })
  })
}
startupService()
  .then((e) => {
      new Vue({
         router,
         store,
         beforeCreate() {
            if (e && e.umsAdmin && e.tokenInfo) {
              //this.$router.push('/index') // 跳转首页
            } else {
              //this.$router.push('/login') // 跳转登录页
            }
         },
         render: h => h(App)
      })
  })
  .catch((err) => {
    console.log(err)
  })

// 登录
window.loginData.login({
  username: '', // (必填)账号
  password: '', // (必填)密码
}).then((res) => {
  console.log(res)
})

流程说明

oxwr3.png

Keywords

FAQs

Package last updated on 07 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc