背景信息
当用户拥有完善的单点登录系统(SSO)时,用户的SSO应用只需在与Dataphin系统同域的Cookie中设置Ticket,便可实现Ticket认证、登录跳转、登出功能及账号信息获取,从而与Dataphin系统实现对接。用户可以通过其单点认证系统登录Dataphin的应用。
切换登录系统后,原有的登录入口将被关闭,无法通过之前的登录系统访问任何账户。
切换登录系统后,仅能使用用户的登录系统进行登录。因此,需要用户确认在新登录系统中能够提供运维管理员和超级管理员对应的账号,用于Dataphin的日常运维。
需要用户提供新旧两套账号的对应关系,即旧账号对应的新账号ID,用于登录。
确认所有旧账号均能在新登录系统中成功添加并登录(例如:可能存在某些外部账号无法添加至内部员工系统的情况)。
认证请求时序图如下,其中Cookie需与Dataphin应用同域或同根域。
需提供的能力
客户需在单点认证系统(SSO)中提供以下功能。
在确认并完成以下功能配置后,请联系Dataphin运维人员。
接口规范
请求方式:GET
内容类型:Content-Type:application/json;charest=UTF-8
请求路径和格式已在接口中说明;接口请求路径采用默认路径,可配置。
Cookie默认名称为DPN_SSO_TICKET,可配置。
若返回结果为success:false,请在message中提供详细说明,以便于问题的排查。
一、Ticket(Cookie)认证接口
接口描述:提供Ticket认证能力,默认请求路径为/cookie/validCookie?ticket={ticket}。
二、提供登录认证接口根据target-url重定向能力
http://127.0.0.1:8080?target-uri=http://dataphin.com
登录认证过期:Dataphin应用会在登录认证地址URL后拼接当前请求地址URL,方便登录认证成功之后回到请求页面。
三、登出接口
提供用户平台登出能力,redirect为登出跳转地址。
方案一:请求该接口,该接口提供cookie失效能力,redirect返回客户的认证登录页;如果无法提供cookie失效能力,可通过redirect清除cookie,再跳转至指定页面。
方案二:请求该接口,redirect返回客户用户系统的登出地址,Dataphin跳转至用户登出地址,实现登出。
默认请求路径为/user/logout?ticket={ticket},返回格式和定义如下。
{
"success":true,
"data":{
"redirect":"http://127.0.0.1:8080"
},
"message":""
}四、用户详情接口
此接口用于用户信息同步,在应用中暂未使用,用于后续扩展。
默认请求路径为/user/getUser?userId={userId},返回格式和定义如下。
{
"success":true,
"data":{
"userId":"1",
"parentUserId":"0",
"accountName":"account1",
"displayName":"dataphin1",
"realName":"张1",
"nickName":"张1丰",
"email":"1@alibaba.com",
"mobilePhone":"12300000001"
},
"message":null
}五、用户详情列表接口
此接口用于用户信息同步,为必须是实现接口
全量
默认请求路径为
/user/getAllUser,返回格式和定义如下。{ "success":true, "data":[ { "userId":"1", "parentUserId":"0", "accountName":"account1", "displayName":"dataphin1", "realName":"张1", "nickName":"张1丰", "email":"1@alibaba.com", "mobilePhone":"12300000001" }, { "userId":"2", "parentUserId":"0", "accountName":"account2", "displayName":"dataphin2", "realName":"张2", "nickName":"张2丰", "email":"2@alibaba.com", "mobilePhone":"12300000002" } ], "message":null }分页
默认请求路径为
/user/getAllUser?pageNo={页码}&pageSize={每页条数},返回格式和定义同全量格式,当data返回list.size为0时结束请求。
六、登录配置与账号映射关系
开发完成后,需要提供登录配置和账号映射关系,以供切换登录系统。
登录配置
#以下为默认值,如果有改动请修改 dataphin.thirdpart.sso.endpoint=http://127.0.0.1:8080 dataphin.thirdpart.sso.cookie.name=DPN_SSO_TICKET dataphin.thirdpart.sso.cookie.validUrl=/cookie/validCookie?ticket={ticket} dataphin.thirdpart.sso.user.logoutUrl=/user/logout?ticket={ticket} dataphin.thirdpart.sso.user.getUserUrl=/user/getUser?userId={userId} dataphin.thirdpart.sso.user.getAllUserUrl=/user/getAllUser dataphin.thirdpart.sso.isCustomizeTargetUrl=false账号映射关系
旧账号用户ID或Dataphin的userID
新登录系统用户ID
例如:SuperAdmin或30000001
12345678
例如:SuperAdmin或30000002
87654321
对接完成验证
确认登录功能正常,即可以通过用户登录系统登录至Dataphin,且用户信息正常显示。
确认同步用户正常。
在Dataphin管理中心 > 成员管理中,单击账号系统同步后未报错,且单击添加成员时,可正常展示同步的用户即为正常。
确认登出功能正常。
单击Dataphin右上角头像打开用户中心,单击退出账号后能成功跳转至用户指定的页面。同时,根据用户是否清除cookie的需求,检查cookie是否正常清除。
若需将SuperOps/SuperAdmin账号切换为客户登录系统中另一账号,请联系Dataphin运维人员。