C/S程序

最后更新:2021-11-26

1. 应用介绍

C/S程序应用模板支持唤醒用户PC电脑上本地应用程序后,并传递基于oidc协议的用户身份信息id_token参数,以及其他可自定义的一些参数,达到用户即使在浏览器应用里,也能打开本机上的应用程序并实现单点登录。
image.png

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辅助程序,如果不想每次都出现弹框,请勾选前面
记住我的选择,如使用谷歌浏览器时,请按下图所示勾选:
image.png

第[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 程序
image.png**

3、选择C/S程序应用模板点击添加应用

image.png

4、填写参数说明
可执行文件: 必填,填写IDaaS需要唤醒用户本地的可执行程序文件名
可执行文件路径:选填,若填则代表要启用的本地程序目录
传递参数:选填,在IDaaS唤醒本地程序启动时,IDaaS默认会将id_token参数以id_token={id_token_value}的形式 传递给启用的本地应用程序,若还想附加其他的一些固定参数,请填写在此,如-Dtest=123

2.2.2. Step2 C/S应用授权

应用授权:选择应用(搜索应用)、选择组织机构(搜索组织机构)、勾选保存即可
image.png

2.2.3. Step3 获取应用配置信息,并开发


点击左侧导航栏应用 > 应用列表 查看 C/S程序员 应用详情, 获得 JWT PublicKey
image.png


如何获取id_token参数
IDaaS在唤醒本地应用程序时,会以启动参数id_token={id_token值}传递给应用程序,一般应用程序的入口都是main函数,因此需要在main函数入口接收启动参数。
此处以demo桌面应用接收到id_token的截图示例如下:
image.png

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业务应用里。