全部产品
Search
文档中心

智能数据建设与治理 Dataphin:如何基于第三方SSO登录与Dataphin进行登录集成

更新时间:Mar 04, 2026

背景信息

当用户拥有完善的单点登录系统(SSO)时,用户的SSO应用只需在与Dataphin系统同域的Cookie中设置Ticket,便可实现Ticket认证、登录跳转、登出功能及账号信息获取,从而与Dataphin系统实现对接。用户可以通过其单点认证系统登录Dataphin的应用。

说明
  • 切换登录系统后,原有的登录入口将被关闭,无法通过之前的登录系统访问任何账户。

  • 切换登录系统后,仅能使用用户的登录系统进行登录。因此,需要用户确认在新登录系统中能够提供运维管理员超级管理员对应的账号,用于Dataphin的日常运维。

  • 需要用户提供新旧两套账号的对应关系,即旧账号对应的新账号ID,用于登录。

  • 确认所有旧账号均能在新登录系统中成功添加并登录(例如:可能存在某些外部账号无法添加至内部员工系统的情况)。

认证请求时序图如下,其中Cookie需与Dataphin应用同域或同根域

image

需提供的能力

客户需在单点认证系统(SSO)中提供以下功能。

重要

在确认并完成以下功能配置后,请联系Dataphin运维人员

接口规范

请求方式:GET

内容类型:Content-Type:application/json;charest=UTF-8

说明
  • 请求路径和格式已在接口中说明;接口请求路径采用默认路径可配置

  • Cookie默认名称为DPN_SSO_TICKET,可配置。

  • 若返回结果为success:false,请在message中提供详细说明,以便于问题的排查。

一、Ticket(Cookie)认证接口

接口描述:提供Ticket认证能力,默认请求路径为/cookie/validCookie?ticket={ticket}

接口的返回参数

  • 请求成功

    请求成功返回true,data中包含用户详情信息。

    {
        "success":true,
        "data":{
            "userId":"1",
            "parentUserId":"0",
            "accountName":"account1",
            "displayName":"dataphin1",
            "realName":"张1",
            "nickName":"张1丰",
            "email":"1@alibaba.com",
            "mobilePhone":"12300000001"
        },
        "message":null
    }

    参数名

    描述

    是否必填

    是否唯一

    userId

    客户用户系统内的userID。

    accountName

    客户用户系统的用户登录账号

    displayName

    Dataphin系统展示名称,用于展示Dataphin内所有用户的信息,包括搜索功能。建议输出格式为用户名(userID),以便于搜索和定位。

    parentUserId

    用于有父子关系的用户系统。

    当参数值为空时,将采用accountName作为用户名。

    否(建议唯一)

    realName

    姓名。

    nickName

    昵称。

    email

    电子邮箱。

    mobilePhone

    联系方式。

  • 请求失败

    返回false,data中包含重定向认证地址redirectUrl。

    {
        "success":false,
        "data":{
            "redirect":"http://127.0.0.1:8080"
        },
        "message":""
    }
    说明
    • data.redirect可携带自定义target-url返回,需开启isCustomizeTargetUrl。

    • 默认target-url为当前访问Dataphin地址。

二、提供登录认证接口根据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

对接完成验证

  1. 确认登录功能正常,即可以通过用户登录系统登录至Dataphin,且用户信息正常显示。

  2. 确认同步用户正常

    Dataphin管理中心 > 成员管理中,单击账号系统同步后未报错,且单击添加成员时,可正常展示同步的用户即为正常。

  3. 确认登出功能正常

    单击Dataphin右上角头像打开用户中心,单击退出账号后能成功跳转至用户指定的页面。同时,根据用户是否清除cookie的需求,检查cookie是否正常清除。

重要

若需将SuperOps/SuperAdmin账号切换为客户登录系统中另一账号,请联系Dataphin运维人员