C/S程序¶
最后更新:2021-11-26
1. 应用介绍¶
C/S程序应用模板支持唤醒用户PC电脑上本地应用程序后,并传递基于oidc协议的用户身份信息id_token参数,以及其他可自定义的一些参数,达到用户即使在浏览器应用里,也能打开本机上的应用程序并实现单点登录。
1.1. 依赖场景¶
用户需要安装IDPAgent插件
本地应用程序拥有自主开发能力,能够解析id_token
1.2. 适用系统¶
目前IDaaS仅支持Windows操作系统下的本地应用程序唤醒
Windows XP
Windows 7,8,9,10等
以下将从如何对接C/S程序应用为场景来说明,主要包含以下内容:
时序说明 - 以C/S程序模板接入IDaaS的简单时序图说明,以及交互参数
主要流程 - C/S程序模板使用主要流程
操作步骤 - 从新建开始配置一个C/S程序应用,以及如何在本地程序中接收id_token参数并解析
如何接收id_token
如何获取用户信息userinfo
一个本地程序demo示例接入c/s程序视频
常见QA - 常见问题以及其对策
2. 如何配置¶
2.1. 时序说明¶
2.1.1. 场景:用户从IDaaS平台单点登录到本地应用C/S程序¶
说明:
第[5]步: 浏览器会提醒用户是否要打开IDPAgent辅助程序,如果不想每次都出现弹框,请勾选前面
记住我的选择,如使用谷歌浏览器时,请按下图所示勾选:
第[6.3]步: 解析id_token时,可参考接入JWT应用时,使用对应语言提供的SDK来解析。
关于id_token解析出来的值格式如下
{
"name": "wangsir",
"exp": 1638436981,
"jti": "qwbUudXinh6ionKqouR-dA",
"iat": 1638436381,
"nbf": 1638436321,
"sub": "wangsir"
}
字段含义
字段名 |
字段含义 |
备注 |
---|---|---|
name |
IDaaS用户名称 |
|
exp |
jwt票证过期时间 |
|
jti |
jwt票证id |
|
iat |
jwt票证颁发时间 |
|
nbf |
jwt票证生效时间 |
|
sub |
IDaaS用户名称 |
用户名称请以该字段值为准 |
2.2. 主要流程¶
Step1. 创建C/S程序应用,基于C/S程序模板快速创建应用
Step2. 授权C/S程序应用,对C/S程序应用授予访问权限
Step3. 获取应用信息,以基于应用提供的公钥和IDaaS-SDK实现解析id_token
Step4. 完成应用侧的开发/配置,就可以实现业务应用单点登录功能
Step5. 应用接入DEMO视频演示
2.2.1. Step1 创建C/S程序应用:¶
1、首先以IT管理员账号登录云盾IDaaS管理平台。具体操作请参考 IT管理员指南-登录 。
2、点击左侧导航栏应用 > 添加应用 选择右侧 C/S 程序**
3、选择C/S程序应用模板点击添加应用。
4、填写参数说明
可执行文件: 必填,填写IDaaS需要唤醒用户本地的可执行程序文件名
可执行文件路径:选填,若填则代表要启用的本地程序目录
传递参数:选填,在IDaaS唤醒本地程序启动时,IDaaS默认会将id_token参数以id_token={id_token_value}的形式 传递给启用的本地应用程序,若还想附加其他的一些固定参数,请填写在此,如-Dtest=123
2.2.2. Step2 C/S应用授权¶
应用授权:选择应用(搜索应用)、选择组织机构(搜索组织机构)、勾选保存即可
2.2.3. Step3 获取应用配置信息,并开发¶
点击左侧导航栏应用 > 应用列表 查看 C/S程序员 应用详情, 获得 JWT PublicKey
如何获取id_token参数
IDaaS在唤醒本地应用程序时,会以启动参数id_token={id_token值}传递给应用程序,一般应用程序的入口都是main函数,因此需要在main函数入口接收启动参数。
此处以demo桌面应用接收到id_token的截图示例如下:
2.2.4. Step4 解析id_token,完成单点登陆¶
请参考对接JWT应用使用JWT公钥解析id_token的流程,此处不在赘述。
2.2.5. Step5 应用接入DEMO演示视频¶
3. 常见QA¶
3.1. 如何下载视频里的cs_oidc.exe程序¶
下载链接:cs_oidc.zip
3.2. 与C/S程序(浏览器)应用模板相比,有什么不同之处?¶
C/S程序主要针对windows桌面应用,需要企业以oidc方式来二次开发对接IDaaS实现单点登陆。
C/S程序(浏览器**)针对已经有的windows浏览器应用程序**,如IE浏览器,谷歌浏览器等,无需企业开发。通过IDaaS预设的模拟代填指令即可单点登陆到企业的Web业务应用里。