Skip to main content

钉钉接入 NineData SSO

本文面向使用钉钉管理人员账户信息的企业,提供将钉钉接入单点登录(SSO)的最佳实践指南,以实现统一认证和授权管理。

背景信息

在企业使用 NineData 进行数据库管理、迁移和数据复制时,经常需要多名成员协作操作。为了避免为每个成员重复维护密码,推荐使用企业现有的统一身份认证系统(如钉钉)来接入 NineData,实现单点登录(SSO)。

通过配置钉钉 OAuth2.0 协议:

  • 用户可直接使用钉钉账号登录 NineData 控制台,管理员无需单独为用户创建账号。

  • 登录流程由钉钉负责,确保企业安全策略统一。

  • 管理员可以更方便地管理 NineData 的访问权限,减少账号管理成本。

本文档详细介绍如何在钉钉开放平台创建企业内部应用、配置 OAuth2.0 参数,并在 NineData 控制台完成 SSO 集成,让企业用户能够使用钉钉一键登录 NineData。

前提条件

  • 已创建或加入组织,并且该组织已开通,同时请确保您的包年包月订阅未过期。
  • 当前账号已切换到目标组织。更多信息,请参见切换到组织
  • 您在 NineData 中的角色为。更多信息,请参见角色
  • 您在钉钉组织中需要拥有开发者权限

步骤一:开启 NineData SSO 组织登录功能

  1. 登录 NineData 控制台,在左侧导航栏单击>

  2. 单击 右侧的开关,打开窗口。先开启顶部的开关,在下方选择 OAuth2.0,然后在下方输入您的组织名称,同时记录 下方的

    image-20250926174317087

  3. 保留该页面,进入下一个步骤。

步骤二:在钉钉开放平台创建应用并配置

  1. 登录 钉钉开放平台

  2. 创建企业内部应用。更多信息,请参见钉钉官方文档创建应用

  3. 进入应用详情页,单击左侧导航栏的基础信息 > 凭证与基础信息,并记录 Client IDClient Secret

    image-20250926172634501

  4. 单击左侧导航栏的开发配置 > 权限管理,找到并开通【个人手机号信息】权限和【通讯录个人信息读权限】。

    image-20250926172725252

  5. 单击左侧导航栏的开发配置 > 安全设置,在重定向URL(回调域名)的文本框中,输入步骤一中记录的回复 URL (断言使用者服务 URL),单击保存

    image-20250926173123692

  6. 单击左侧导航栏的应用发布 > 版本管理与发布,发布当前应用。

步骤三:在 NineData 中接入 SSO 自建应用

  1. 回到步骤一页面,根据下表配置区域的所有参数。

    image-20250926180413871

    参数名说明
    client_id填写步骤二中记录的 Client ID
    client_secret填写步骤二中记录的 Client Secret
    scope填写为 openid,表示授权后可获得用户的 userid。更多信息,请参见钉钉官方文档:统一授权登录第三方网站
    填写为 https://login.dingtalk.com/oauth2/auth,钉钉官方提供的 OAuth 2.0 的授权接口,用于发起用户登录和授权流程。更多信息,请参见钉钉官方文档:统一授权登录第三方网站
    填写为 https://api.dingtalk.com/v1.0/oauth2/userAccessToken,钉钉 OAuth2.0 的 Token 获取接口,用来把上一步授权返回的 code 兑换成用户级别的 access_token。更多信息,请参见钉钉官方文档:获取用户token
    填写 https://api.dingtalk.com/v1.0/contact/users/me,钉钉开放平台的获取用户信息接口,用上一步获取的 access_token 来获取当前登录用户的详细信息(姓名、手机号、邮箱)。更多信息,请参见钉钉官方文档:获取用户通讯录个人信息
  2. 单击 右侧的setting图标,并进行如下配置,然后单击

    • GET

    • :选择 Params,并根据下表配置各字段。

      image-20250926181203437

      平台字段接口映射字段类型默认值
      client_idclient_idString
      redirect_uriredirect_uriString
      scopescopeString
      promptpromptStringconsent
      response_typeresponse_typeStringcode
  3. 单击 右侧的setting图标,并进行如下配置,然后单击

    • POST

    • :选择 Body,编码方式选择 JSON,并根据下表配置各字段。

      image-20250926181401479

      平台字段接口映射字段类型默认值
      client_idclientIdString
      client_secretclientSecretString
      codecodeString
      grant_typegrantTypeStringauthorization_code
    • :请根据下表配置。

      image-20250926181537820

      平台字段接口映射字段类型默认值
      access_tokenaccessTokenString
  4. 单击 右侧的setting图标,并进行如下配置,然后单击

    • GET

    • :选择 Header,并根据下表配置。

      image-20250926181652366

      平台字段接口映射字段类型默认值
      access_tokenx-acs-dingtalk-access-tokenString
    • :请根据下表配置各字段。

      image-20250926181719735

      平台字段接口映射字段类型默认值
      namenickString
      mobilemobileString
      emailemailString
  5. 开启下方的开关,开启后用户在通过 SSO 方式登录 NineData 时,系统将自动添加该用户到 NineData,您无需再提前进行新建 SSO 用户操作。

  6. 开启后,指定自动加入的 SSO 用户默认绑定的角色,支持单选和多选。
  7. 开启下方的开关,保持如下默认配置,然后单击即可。至此钉钉 SSO 接入操作已完成,钉钉组织中的成员可以通过下方的 URL,使用钉钉账号登录 NineData。

    image-20250926183204026