若企业已具备对外开放的单点登录能力,可在乐享管理后台 (opens new window)配置单点登录方式,为企业成员提供无感登录。
乐享基于OAuth授权码模式设计来提供SSO接入,企业只需实现SP发起SSO流程即可实现无感登录效果,仅需开发授权页面和获取用户信息接口。若企业平台用户有切换身份需求可再接入IdP发起SSO流程。
关键概念
SP: Service Provider,服务提供者,即乐享平台
IdP: Identity Provider,身份提供者,即企业内部平台/OA系统等
授权页面: 由企业提供,企业平台需要根据企业用户登录态生成用户授权码并传递给乐享。具体参考提供授权页面
授权码: 可通过获取用户信息接口换取用户ID的随机字符串,开发者应确保该字符串是加密且只能消费一次
获取用户信息接口: 由企业提供,用于将授权码换取用户ID。具体参考提供获取用户信息接口
场景:用户直接打开乐享链接,若无乐享登录态,即发起SSO流程,跳转到企业授权页面进行授权登录
流程说明
用户访问任意乐享链接如https://lexiangla.com?company_from=xxx
(xxx是乐享租户唯一标识号)
乐享平台将重定向到指定授权页面并且url会带上redirect_uri={REDIRECT_URI}&state={STATE}
两个参数,用于第3步从企业平台重定向回到乐享
用户打开企业的授权页面且同意授权后,企业平台重定向到https://lexiangla.com/suites/auth-callback?code={CODE}&state={STATE}
,其中CODE由企业平台生成,STATE是第2步由乐享重定向到授权页面时提供的,原样返回即可
到乐享平台后,乐享后台会根据url上的CODE参数去请求企业平台的获取用户信息接口。获取到用户ID后,确认该ID是通讯录中的在职成员,即颁发用户乐享登录态,进入乐享
场景:用户从企业平台携带用户身份凭证跳转至乐享
例如一个教育平台允许用户切换教师和家长身份登录,要求用户从平台点击乐享链接进入乐享也能切换为对应角色
流程说明
https://lexiangla.com?company_from=xxx&sso_auth_code={CODE}
(xxx是乐享租户唯一标识号,CODE由企业生成,用户获取登录成员信息)HTTP Referer
域名是否已配置,若已配置则进入步骤3;若未配置则认为当前请求非可靠的IdP发起SSO流程,无视sso_auth_code
参数重新进入SP发起SSO流程sso_auth_code
参数去请求企业平台的获取用户信息接口。获取到用户ID后,确认该ID是通讯录中的在职成员,即颁发用户乐享登录态,进入乐享