基于Python代码的单点登录

1. 简介

1.1 案例简介

本案例通过 Python 代码配置自定义接口,实现简道云的单点登录业务。

1.2 使用场景

企业拥有自己的企业微信、中台等账号时,需要通过单点登录实现企业成员登录简道云的效果,则可以通过自定义接口实现。

1.3 预期效果

以本地登录为例,成员访问简道云企业 URL 时,点击单点登录后即可自动登录至简道云工作台中,退出登录后进入官网页面。效果如下所示:

2. 设置步骤

2.1 Python的安装及配置

2.1.1 Python安装

登录 Python 官网,根据企业需求选择合适的Python版本,点击「下载使用」进行下载,如下所示:

2.1.2 安装依赖包

1)Python 安装完成后,下载对应的依赖包:依赖包下载链接。如下所示:

2)在电脑中同时按住 windows+R,输入 cmd 后,进入命令行后,输入执行命令进行安装。执行命令如下所示:

pip install -r D:\requirements.txt

注:

1)该示例在 windows 环境中进行。

2)输入执行命令时,需根据 txt 文件位置在执行命令中补充完整文件的绝对路径。

2.1.3 下载demo

您可以根据企业自身需求,自己开发编写出对应的 Python 代码。简道云也为您提供了对应的 Python demo 示例供您参考:Python 代码示例工程

2.2 在简道云中配置单点登录

本文自定义接口中的相关配置,是以本地登录进行演示。企业可根据自身的服务器配置对应的登录信息,服务器信息配置完成后,即可实现企业内成员登录的效果。

2.2.1 开启单点登录

1)登录 简道云账号,进入企业管理>>企业信息页面中。

2)在高级设置>>单点登录处,打开单点登录的开关,并点击配置按钮。

2.2.2 配置单点登录

单点登录配置项如下所示:

  • 单点登录配置方式:自定义接口
  • Idp登录接口:http://127.0.0.1:8000/sso
  • 认证密钥:可点击生成密钥」按钮,生成对应的密钥。
  • 认证加密算法:下拉框内选择 HS256
  • Issuer URL:自定义设置对应内容,如:Issuer.test
  • IdP 登出接口:自定义设置对应登出接口地址,如:https://www.jiandaoyun.com

配置完成后点击保存

注:

1)除了系统自动生成密钥外,您也可以自定义密钥内容,保证自定义接口配置与 Python demo中的密钥一致即可。

2)认证加密算法支持 HS256、HS384、HS512,Python demo 中默认为 HS256。

2.2.3 生成单点登录信息

完成单点登录配置后,会生成如下对应信息:

注:需要根据生成的信息去修改代码中的相关内容,故可以暂时不关闭此页面。

2.3 修改并运行demo

根据【2.1.3 下载demo】中的内容,下载好 Python 代码后,通过软件 Pycharm 打开 demo,并按照以下步骤修改demo 中的内容。

2.3.1 修改ACS信息

将【2.2.3 生成单点登录信息】中的认证返回地址」,复制在代码中的 ACS 处。如下所示:

2.3.2 修改SECRET和ISSUER

1)根据【2.2.2 配置单点登录】中的信息,对代码进行如下所示的修改:

  • 将「认证密钥」复制在代码中的 SECRET 处;
  • Issuer URL」中的内容复制在代码中的 ISSUER 处。

2)若简道云的自定义接口处,未配置 Issuer URL相关内容,则代码中对应的 ISSUER 留空,并且注释掉 audience和 iss 这两行代码。如下所示:

2.3.3 配置成员账号

1)进入简道云 >> 通讯录 >> 内部组织」页面中,点击需要配置单点登录成员的姓名,在成员信息详情页中,查看并复制成员编号。

2)将查看到的成员编号,复制到代码中的 USERNAME 处。如下所示:

2.3.4 修改algorithm内容

根据【2.2.2 配置单点登录】中的信息,将「认证加密算法」复制在代码中的 algorithm 处。如下所示:

2.3.5 配置登录重定向

登录后自动重定向参数,即登录后跳转到指定地址。如设置成员通过单点登录后,直接跳转至定价页面,则修改redirect_uri 为:https://www.jiandaoyun.com/index/price/。

2.3.6 运行代码

代码全部修改完后,在代码页面点击鼠标右键,选择Run 'sso_pydemo'」后运行代码。

2.4 效果演示

效果参见本文【1.3 预期效果】。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验