基于移动应用平台2.0 APP的单点登录插件
- 前提:已安装新版本的
移动应用门户
,单点登录依赖 移动应用平台2.0 App. - 平台与系统:
iOS 9 ~ 12
; Android:4.4 ~ 9
,支持Ionic、Vue、React构建的App. - 功能与作用:提供第三方应用与门户App已登录用户的信息交换,门户App以json方式提供username、password、token给第三方应用,第三方应用与门户App是否采用同一账号体系(4A账号体系),则取决于第三方应用。
- 启动方式:手机桌面启动(下称:桌面启动’)、门户工作台启动(下称:工作台启动).
一.文件结构一览
文件名 | 其它 |
---|---|
Readme.md | 插件集成和部分使用文档说明 |
详细配置文档 | 使用前先阅读Readme.txt |
android配置文档 | |
iOS配置文档 | |
package.json | 包文件,可查看基本信息 |
plugin.xml | 插件配置文件 |
src | Android和iOS原生代码文件 |
www | 插件js文件,web可直接调用 |
二.集成方式概述
以下操作请在项目根目录下进行.
- 下载插件ZIP文件,解压
- 修改插件文件的plugin.xml文件
- 项目根目录下新建
myplugins
文件夹,将修改后的插件文件夹放在此处.
- cordova命令引入
使用方式比较简单.需要安装cordova包. - yarn命令引入
使用方式比较麻烦.需要安装yarn.
三.集成方式
3.1 Cordova集成方式
1. 修改插件plugin.xml文件
在myplugins文件夹下的yi-dong-ying-yong-copy文件夹下,找到plugin.xml文件,将
<preference name="URL_SCHEME" default="weixin.wuxiyi.com"/>
替换为:
<preference name="URL_SCHEME" default="安卓为平台app包名,iOS为本应用ID"/>
2. 添加插件到项目中
使用Visual Studio Code打开项目,左下角切换到终端,并输入:
cordova plugin add ./myplugins/yi-dong-ying-yong-copy
3.2 Yarn集成方式
- 修改插件plugin.xml文件
在myplugins文件夹下的yi-dong-ying-yong-copy文件夹下,找到plugin.xml文件,将<preference name="URL_SCHEME" default="weixin.wuxiyi.com"/>
替换为:<preference name="URL_SCHEME" default="安卓为平台app包名,iOS为本应用ID"/>
- 修改项目根目录下的package.json文件
在dependencies
一项中,添加单点登录插件的本地依赖,如下:"cordova-plugin-dingxin-sso": "file:./myplugins/yi-dong-ying-yong-copy"
- 安装项目依赖
Visual Studio Code打开项目,左下角切换到终端,并输入:yarn install 特别提醒,不要使用npm install
- 修改项目config.xml文件
项目根目录下的config.xml,添加到其它标签之前,如下:<plugin name="cordova-plugin-dingxin-sso" spec="./node_modules/cordova-plugin-dingxin-sso">
<variable name="URL_SCHEME" value="安卓为平台app包名,iOS为本应用ID" />
</plugin>
四.使用
在需要登录的地方,如LoginComponent.ts中添加示例代码,如下:
declare let cordova: any; // 声明一个cordova对象
/**
* 登录操作
*/
onLoginClick() {
cordova.dingxin.sso.login((ssoRes) => {
// dingxin.sso 成功回调
let data = JSON.parse(ssoRes);
// TODO ...
}, () => {
// dingxin.sso 登录失败回调
// TODO ...
}, "安卓为平台app包名,iOS为本应用ID(见下注释)");
安卓为移动应用平台app的 package id,
iOS则要修改为本应用的ID。
}
更新历史
1.0.11 2019.05.22
- 更新了集成文档,调理更清晰
- 拆分了配置文档,集成时更有针对性
- 修改了SSOLoginPlugin.js文件,精简了参数,去除了type参数
- 完善了安卓checkPermission()使用场景,解决了缺少权限的问题.