钉钉开发文档

应用管理后台免登

更新时间: 2019-2-14

当某个应用需要进行一些配置管理的时候,需要在创建应用的时候,输入【后台地址】,当管理员登录oa.dingtalk.com后,在选择这个应用并点击时,无需管理员再次输入账户密码,直接进入到这个应用的管理后台。

配置微应用后台地址

企业应用开发者在开发者后台,找到自己开发的应用,设置后台地址。

image.png

当管理员登入oa.dingtalk.com后,选择菜单工作台,点选某个应用,既可以进入应用的管理后台:

image

获取免登过程中密钥(SSOSecret)

重要说明:通过开发者后台获取,使用开发者企业的SSOSecret。
登录钉钉开发者平台获取SSOSecret,如下图所示:

image.png

管理后台免登流程开发

第一步:获取免登授权码

当企业管理员登录oa.dingtalk.com后,并点击工作台中的应用,会自动跳转到应用的后台地址,钉钉会把code参数追加到此URL地址中。如下图,请保存code参数值,在后面的步骤会用到:

image.png

第二步:获取应用后台免登的accessToken

本接口获取的accessToken只在微应用后台管理免登服务中使用。

请求方式:GET(HTTPS)
请求地址https://oapi.dingtalk.com/sso/gettoken?corpid=id&corpsecret=ssosecret
参数说明

参数 参数类型 必须 说明
corpid String 企业Id
corpsecret String 这里必须填写专属的SSOSecret

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/sso/gettoken");
OapiSsoGettokenRequest request = new OapiSsoGettokenRequest();
request.setCorpid("ding04369f2373153d2f35c2f4657eb637");
request.setCorpsecret("BzmP5AL3tYoZ8f3aKJPjhyMuvlBzxCh78AKPlZ9UXxxxxxx");
request.setHttpMethod("GET");
OapiSsoGettokenResponse response = client.execute(request);

返回说明

{
    "errcode": 0,
    "errmsg": "ok",
    "access_token": "fw8ef8we8f76e6f7s8df8s"
}
参数 说明
errcode 错误码
errmsg 错误信息
access_token 获取到的凭证

第三步:获取应用管理员的身份信息

使用步骤一获取到的code和步骤二获取到的accessToken换取微应用管理员的身份信息。

请求方式:GET(HTTPS)
请求地址https://oapi.dingtalk.com/sso/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
参数说明

参数 参数类型 必须 说明
access_token String 再次强调,此token不同于一般的accessToken,需要调用获取微应用管理员免登需要的AccessToken。
code String 通过Oauth认证给URL带上的CODE。

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/sso/getuserinfo");
OapiSsoGetuserinfoRequest request = new OapiSsoGetuserinfoRequest();
request.setCode("BzmP5AL3tYoZ8f3aKJPjhyMuvl");
request.setHttpMethod("GET");
OapiSsoGetuserinfoResponse response = client.execute(request,accessToken);

返回参数:

{
    "corp_info": {
        "corp_name": "一家公司",
        "corpid": "dingxxxxxx"
    },
    "errcode": 0,
    "errmsg": "ok",
    "is_sys": true,
    "user_info": {
        "avatar": "http://xxxxxxx.jpg",
        "email": "123456@aliyun.com",
        "name": "名称",
        "userid": "0571"
    }
}
参数 说明
corp_name 公司名字
corpid 公司corpid
is_sys 是否是管理员(在这里是true)
avatar 头像地址
email email地址
name 用户名字
userid 员工在企业内的UserID
以上内容是否对您有帮助:
在文档使用中是否遇到以下问题(多选):
  • 内容错误
  • 更新不及时
  • 链接错误
  • 缺少代码/图片示例
  • 太简单/步骤待完善
手机号
更多建议
提交成功,感谢您的反馈!