JSSDK接入
# 开始
# 概要
适用于前后端分离的项目 1、前端通过jssdk获取authcode,然后通过authcode获取用户信息,子应用通过用户信息完成自己的认证登陆,之后逻辑走自己的认证 逻辑,之后的认证续期和请求认证都走自己的逻辑,代码侵入较低 2、前端通过jssdk获取authcode,然后通过authcode获取用户信息,每次访问后端,全部携带authcode,后端sdk通过authcode获取用户信息, 子应用通过获取上下文中的用户信息完成自己的认证逻辑,代码侵入较高,借助与后端sdk的认证逻辑
提示
主服务地址:http://10.6.0.108 后端地址http://10.6.0.108/api
# jssdk接入
- 引入jssdk
num install sinuo-auth-sdk:1.0.10 //1.0.10版本 后面获取最新版本即可
1
- main.js 引入sdk
import { SsoService } from 'sinuo-auth-sdk'
SsoService.init({
mainOrigin: "http://xxxxxxxxx",//主服务前端地址带端口号
redirectOnFailure: true //失败重定向到登录页
})
// 挂载到Vue原型
Vue.prototype.auth = SsoService
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 入口文件:可以是请求拦截里面,也可以是入口文件里面,主要是为了进入页面的时候先获取code,也就是请求你服务之前要获取这个信息
这里可以先写一些判断,如果此时是登陆状态就不需要获取code了,只有当前未登录状态的杀死后才去获取
this.auth.getAuthCode().then((res)=>{
console.log(res) //res返回的code
//根据code获取的用户信息
this.auth.getUserByAuthCode(res).then((data)=>{
console.log(data)
//拿到用户信息之后可以走自己的逻辑
});
});
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
提示
上面是纯jssdk接入,接入完需要自己处理后续认证信息
JSSDK下载:
1、通过npm自行下载,以上传到公网镜像仓库
2、离线下载:
# jssdk接入+后端sdk
- 引入jssdk
num install sinuo-auth-sdk:1.0.10
1
- main.js 引入sdk
import { SsoService } from 'sinuo-auth-sdk'
SsoService.init({
mainOrigin: "http://xxxxxxxxx",//主服务前端地址带端口号
redirectOnFailure: true //失败重定向到登录页
})
// 挂载到Vue原型
Vue.prototype.auth = SsoService
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
- 入口文件:可以是请求拦截里面,也可以是入口文件里面,主要是为了进入页面的时候先获取code,也就是请求你服务之前要获取这个信息
这里可以先写一些判断,如果此时是登陆状态就不需要获取code了,只有当前未登录状态的杀死后才去获取
this.auth.getAuthCode().then((res)=>{
console.log(res) //res返回的code
之后每次请求在请求头里面携带这个code信息就可以了
});
1
2
3
4
5
2
3
4
5
- 后端sdk:后端sdk接入请参考Javasdk接入
← 介绍 JAVA-SDK集成→