钉钉微应用集成方案(新)

最后更新:2022-10-26 增加跳转IDP参数配置说明

1. 准备工作

  • 申请注册钉钉组织。如果已有钉钉组织,可跳过该步骤。

  • 需要在idp4后台创建相应的需要单点的SSO应用。

2. 流程介绍

3. 创建钉钉微应用认证源

1.idp4管理后台找到对应认证源插件(标识:plugin_ddtalk),并且添加
image.png
2.配置后面《钉钉开发者配置》中获取的四个参数AgentId,AppKey,AppSecret,corpId如下
image.png
3.选择相应的账户关联方式、是否显示(不要开启) 、不勾选是否显示(勾选则代表钉钉扫码)
image.png
账户关联方式: 当前认证源中的用户标识与本系统用户数据的关联方式

  • 自动关联: 认证用户的标识自动与本系统用户进行关联

  • 手动关联: 输入本系统账号密码与认证用户进行手动关联

  • 自动创建: 用户认证成功后自动在本系统创建对应新用户

4.查看认证源详情,获取应用首页地址,供下一步使用 。
image.png

4. 创建企业内部应用

  1. 登录钉钉开发者后台:https://open-dev.dingtalk.com/

  2. 找到对应位置:应用开发 -》 企业内部应用
    image.png

  3. 进入内部应用 -》 创建应用 -》H5微应用 填写信息 -》 确定创建
    image.png

  4. 获取相应的AgentId,AppKey,AppSecret
    image.png

  5. 获取首页右上角,开发者信息栏里的corpId
    image.png

  6. 进行开发者管理配置,应用首页地址和PC首页地址获取,从idp4后台配置好的钉钉微应用认证源插件详情中获取

  7. 在IDaaS认证源详情中复制应用首页地址:

    格式为:http://xxxx/public/api/authenticate/plugin_ddtalk/static/index.html?enterpriseAuthId=xxx&agentId={agentId}&appId={appId}&callbackUrl={callbackUrl}&openBrowser={openBrowser}&corpId={corpId}&redirect_url={redirect_url} 参数说明:

名称

必填

说明

agentId

第一步《参数获取配置》获取的agentId

corpId

钉钉企业CorpId,保持变量模式即可,无需传值

openBrowser

是否浏览器打开(开启后,使用外部浏览器访问,否则使用钉钉容器访问),默认false

appId

IDaaS中应用的唯一ID ,如下图
image.png

redirect_url

和appId配合使用,{redirect_url}值可选,值为单点登录成功后,跳转sp地址时携带的target_url参数,若配置idp4添加应用时已配置target_url,则此redirect_url地址将会替换应用中配置的target_url地址。redirect_url需要进行URLEncode

callbackUrl

当appId不存在或无效时,callbackUrl配置后认证成会跳转到callbackUrl地址,同时会带上access_token值,配置的callbackUrl需要进行URLEncode
如果要跳转idp则配置为:{实际服务器地址,如:http://xxx/frontend/login/#loginAccess 在进行URLEncode

  1. 替换上面地址中的{agentId}、{redirect_url}、{appId}、{callbackUrl},配置到开发者管理中,同时需要配置服务器出口IP,即上面地址中的IP
    image.png

  2. 配置好之后,需要勾选并申请以下对应权限:
    image.png
    image.png

  3. 钉钉管理后台进行应用的发布
    image.png

  4. 钉钉控制台中找到对应的发布的应用
    image.png

  5. 点击微应用后,如果勾选了浏览器打开,将会自动打开浏览器并跳转登录成功的sp地址,如下(注手机端调用时,由钉钉内置浏览器打开,不会调用外部浏览器,手机端不支持外部浏览器打开)
    image.png
    注:如果账户关联方式选择的自动创建、手动关联;首次进入进行关联的时候不会跳转外部浏览器。

  6. 点击微应用后,未勾选浏览器打开,如下
    image.png
    至此,钉钉微应用配置并应用成功。

5. FAQ

  1. 钉钉微应用单点登录提示无权限。

    请确认钉钉微应用上填写的应用首页地址是否正确,中间是否有空格等。

  2. 以上配置中注意钉钉开发者后台相关权限的开通。