1.8.14 • Published 1 year ago

@qse/edu-login v1.8.14

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

教育公共登录

教育公共登录工具,根据环境自动判断登录方式

支持钉钉跳转浏览器、浏览器、钉钉、支付宝、微信

安装

请在私库里下载安装

npm i @qse/edu-login

使用

import { eduLogin } from '@qse/edu-login'

async function main() {
  const config = await eduLogin()

  // 也可以选择开发环境登录方式,返回默认配置的登录人信息
  const config = await eduLogin(true)
}

登录方式

以下说明按登录优先级排序

  • 链接上加 webskip=1 参数可以默认人员免校验登录,直接返回默认配置的登录人信息,
  • 链接上加 token=xxx 参数,可实现登录信息交换,例如钉钉->浏览器,必须要有局校关系。token 登录目前仅支持 https 协议
  • iframeparent_user 属性,直接返回父页面登录信息
  • 微信登录、支付宝登录、钉钉登录
  • 最后使用有权限校验的浏览器登录

特性

  • 钉钉环境自动加载 ddjsapi
  • 链接有 vconsole=1 参数时,加载 VConsole 模块
  • 链接上加 webskip=1 参数可以默认人员免校验登录,再指定 corpId uid campusid 参数可以实现精确人员登录

测试

以下代码仅用来测试登录效果,实际只需调用eduLogin()即可

import { eduLogin } from '@qse/edu-login'
import React, { useState, useEffect } from 'react'
export default function App() {
  const [config, setConfig] = useState()

  useEffect(() => {
    const fn = async () => {
      try {
        const res = await eduLogin()
        setConfig(JSON.stringify(res, null, 2))
      } catch (e) {
        console.error(e)
        setConfig(`${e.name}:${e.message}`)
      }
    }
    fn()
  }, [])

  const s = (search: string) => {
    window.location.search = search
  }

  const logout = () => {
    document.cookie = '__TTOKEN=;expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'
    document.cookie =
      'JSESSIONID=;expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;'
  }

  return (
    <div>
      <button onClick={() => s('webskip=1')}>webskip默认人员登录</button>
      <button onClick={() => logout()}>清空登录信息</button>
      <h5>登录结果(其他登录方式需要在各自环境中测试)</h5>
      <pre>{config}</pre>
    </div>
  )
}

开发

# 开发
yarn start

# 发布npm
yarn release

# 部署文档
yarn deploy
1.8.13

1 year ago

1.8.14

1 year ago

1.8.12

2 years ago

1.8.9

2 years ago

1.8.10

2 years ago

1.8.8

2 years ago

1.8.11

2 years ago

1.8.7

2 years ago

1.8.6

2 years ago

1.8.5

3 years ago

1.7.6

3 years ago

1.8.4

3 years ago

1.8.3

3 years ago

1.8.2

3 years ago

1.8.1

3 years ago

1.8.0

3 years ago

1.7.5

3 years ago