在现代企业中,为了提高工作效率并简化用户体验,许多应用程序都提供了单点登录(Single Sign-On,简称SSO)功能,允许用户通过一个认证机制访问多个应用程序,无需重复输入账号密码。
轻流 x 钉钉的单点登录功能提供了一种方便快捷的身份验证方式,用户可以通过钉钉的工作台打开轻流,并自动授权登录,无需额外的账号密码验证步骤。
🌈实现效果:
实现了轻流和钉钉的单点登录功能后,用户只需在钉钉工作台中单击应用图标即可直接访问官网版轻流,避免了频繁输入用户名和密码的麻烦,提高了用户体验和工作效率。
🔧配置过程:
步骤一:前往轻流-轻商城模块,安装「单点登录」功能。
步骤二:登录钉钉开发者后台,创建并配置应用。
1.以创建企业内部应用-H5微应用为例。
2.配置H5微应用相关信息,开发模式、服务器出口IP、应用首页地址等。
从轻流单点登录配置界面,复制得到登录链接。
在H5微应用中设置上首页地址和后台地址,填入轻流单点登录中复制的链接。
步骤三:添加H5微应用的接口调用权限。
1.登录开发者后台-点击应用开发-企业内部应用,找到对应的应用并点击。
2.单击权限管理进入权限管理页面,根据以下配置添加接口调用权限。
(1)权限范围选择全部员工。
(2)选择个人权限,申请个人手机号信息和通讯录个人信息读权限。
步骤四:登录钉钉开发者后台,设置上轻流网站的回调域名。
回调域名设置为:https://accounts.qingflow.com/sso/cb
步骤五:前往轻流-轻商城模块,配置“单点登录”功能。
ClientId:H5微应用的AppKey。
ClientSecret:H5微应用的AppSecret。
退出登录后跳转到指定页面:勾选后,退出轻流账户后将直接跳转「授权页面」,填写框内已有默认链接。
1. 请求用户授权设置
⭐️ 相关教程 ⭐️:钉钉帮助文档·实现登录第三方网站
接口地址:https://login.dingtalk.com/oauth2/auth
参数设置:
redirect_uri 参数 Redirect URL
response_type 自定义 code
scope 自定义 openid
client_id 参数 Client ID
prompt 自定义 consent
第三方登录后跳转轻流地址设置(要用authCode):
⚠️注意:以上地址每个工作区都不一样,请勿照搬设置,填写框内已有默认链接,正常使用即可。
2. 获取 AccessToken 配置
⭐️ 接口文章 ⭐️:钉钉帮助文档·获取用户token
接口地址:https://api.dingtalk.com/v1.0/oauth2/userAccessToken
请求类型:POST
参数内容编码:application/json
Body设置:
clientId 参数 Client ID
clientSecret 参数 Client Secret
code 参数 AuthCode
grantType 自定义 authorization_code
返回内容解析:
access_token $.accessToken
3. 获取第三方UserId配置
⭐️ 接口文章 ⭐️:钉钉帮助文档·获取用户通讯录个人信息
接口地址:https://api.dingtalk.com/v1.0/contact/users/me
请求类型:GET
Header 设置:
x-acs-dingtalk-access-token 参数 access_token
返回内容解析:
UserId $.openId
用户名 $.nick
邮箱 $.email
手机号 $.mobile
头像 $.avatarUrl
步骤六:H5微应用的发布。
🔧注意事项
⚠️ 账号绑定相关注意事项 ⚠️
●单点登录到轻流后,会以最后「获取第三方userid配置」中拿到的userid新建一个用户,并自动加入配置单点登录的这个工作区。
●如果工作区已达到人数上限,通过单点登录生成的新帐号将会被禁用并无法登录。
●如果需要和已有账号绑定的话,可以在通讯录成员信息编辑弹窗中将用户的[外部userId]设置为对应外部帐号的[userId],(此信息可以询问对接的系统服务提供商),那么下次使用该[外部userId]登录轻流时,就可以登录这个绑定后的轻流帐号了。
●请不要将不同的轻流帐号绑定同一个[外部用户id],否则每次将随机登录一个绑定此[外部用户id]的轻流帐号。