0.1.4 • Published 4 years ago
union-login v0.1.4
小程序统一登录 union-login
使用方式
1. 准备工作
引入资源
- 【使用小程序原生开发】通过
npm
安装yarn add union-login
。需要配置公司内部npm
源:http://npm.koolearn.com
。小程序中使用npm
包的细节参见微信官方文档; - 【使用三方框架开发】直接拷贝
union-login
目录到项目中, 仓库地址:git@git.koolearn-inc.com:ui/mp/union-login.git
;
js 调用方式:
const unionLogin = require('union-login'); // npm 方式安装
const unionLogin = require('./miniprogram_npm/union-login/index'); // 目录拷贝方式安装
初始化配置
app.json
中添加新页面地址,路径前缀由实际项目决定
{
"pages": [
"miniprogram_npm/union-login/pages/bindWx/index",
"miniprogram_npm/union-login/pages/bindNew/index"
],
}
app.js
中初始化登录相关配置
const unionLogin = require('union-login');
// 在进入 app 前初始化小程序相关配置
unionLogin.init({
appId: 'your_app_id', // sso 定义的 app 标识,@代震 提供
homePage: '/pages/demo/index', // 首页url
bindWxPage: '/miniprogram_npm/union-login/pages/bindWx/index', // 微信绑定页面
bindNewPage: '/miniprogram_npm/union-login/pages/bindNew/index', // 新手机号绑定页面
appendUserInfo: {
api: 'https://dailypractice.neibu.koolearn.com/math/dailypractice/userInfo', // 需注意配置环境
},
HOST_ENV: 'neibu' // 当前环境
});
2. 登录
const unionLogin = require('union-login');
unionLogin.login()
.then(({ sid }) => {
// 登录成功,返回sid,
})
.catch(({ type }) => {
// type === 1
// 用户未绑定账号, 用户点击触发授权手机号, 调用 unionLogin.toBindAccount(event) 绑定账号;
// type === 2
// 用户未授权用户信息,用户点击触发授权用户信息, 调用 unionLogin.userInfoLogin(event) 重新执行登录逻辑;
});
3. 账号绑定成功
用户绑定成功之后,会使用 wx.reLaunch
返回首页, sid
存在页面链接中。eg. /pages/index/index?sid=user_sid_string
。
注:sid
拿到之后需要妥善处理,避免将带 sid
的链接暴露给其他用户。
其他
sso 内网账户解绑工具
0.1.4
4 years ago