博客
关于我
钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息
阅读量:796 次
发布时间:2023-03-22

本文共 1318 字,大约阅读时间需要 4 分钟。

钉钉内获取用户身份并进行校验的流程优化说明

  • 微应用创建与配置

    • 在OA控制台创建微应用, homepage URL 的配置需信任后方可直接使用 js-sdk 获取 code 等信息。对于非首页页面,需进行 dd.config 初始化,包含相关权限校验设置。
  • 获取必要参数

    • 微应用创建完成后,系统会生成 agentID。仅需获取当前用户信息且操作位置在首页时,可以忽略 agentID。但若需要更复杂操作,则需获取 agentID,方法在创建完成后右上角下拉菜单中的设置中可见。
    • 关于 js-sdk 需要鉴权的 API,可以参考开发者平台提供的接口列表,仅需关注需要的接口,无需进行 dd.config() 初始化。
  • 获取钉钉配置信息

    • 进入钉钉开发者平台,获取 corpID 和 corpSecret。通常情况下, .web.sso免登功能需要使用 SSOSecret。
  • 准备工作完成后

    • 已准备好以下信息:

      • corpID
      • corpSecret
      • agentID(可选)
      • URL(用于获取 code 的页面路径)
    • 简单获取用户信息时,可忽略 agentID 和 URL。

  • 开发流程(示例:获取当前用户信息)

    • 前端页面引入 dingtalk.js
    • 在页面中添加获取 code 的 JavaScript 代码
    • 将获取到的 code 发送至后台处理
    • 后台步骤:
    • 使用 AuthHelper.getAccessToken(corpID, corpSecret) 获取 accessToken
    • 利用 code 和 accessToken 调用 AuthHelper.getUserInfo(code, accessToken) 获取基本用户信息
    • 提取 userid 后,调用 AuthHelper.getUser(userid, accessToken) 获取详细用户信息
  • 关键代码示例

    • 前端代码:

      dd.ready(function() {
      dd.runtime.permission.requestAuthCode({
      corpId: "替换为您的 corpID",
      onSuccess: function(result) {
      var code = result.code;
      alert(code); // 将 code 发往后台处理
      },
      onFail: function(err) {
      alert('出错了: ' + err);
      }
      });
      });
    • 后台代码示例:

      String accessToken = AuthHelper.getAccessToken(CORP_ID, CORP_SECRET);
      String user = AuthHelper.getUserInfo(code, accessToken);
  • 注意事项

    • 如果需要更多操作,需在前端进行 dd.config 初始化,并生成所需的 sign。sign 生成规则可参考 AuthHelper.java 文档。
  • 转载地址:http://mjqfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现应用程序添加防火墙白名单 (附完整源码)
    查看>>
    Objective-C实现度到弧度算法(附完整源码)
    查看>>
    Objective-C实现建造者模式(附完整源码)
    查看>>
    Objective-C实现开方数(附完整源码)
    查看>>
    Objective-C实现异或加密(附完整源码)
    查看>>
    Objective-C实现异或密码算法(附完整源码)
    查看>>
    Objective-C实现异步编程(附完整源码)
    查看>>
    Objective-C实现弧度到度算法 (附完整源码)
    查看>>
    Objective-C实现循环移位(附完整源码)
    查看>>
    Objective-C实现循环链表(附完整源码)
    查看>>
    Objective-C实现循环队列算法(附完整源码)
    查看>>
    Objective-C实现循环队列链表算法(附完整源码)
    查看>>
    Objective-C实现快速排序(附完整源码)
    查看>>
    Objective-C实现快速排序算法(附完整源码)
    查看>>
    Objective-C实现恩尼格玛密码机算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的动态编程方法算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的蛮力方法的算法(附完整源码)
    查看>>
    Objective-C实现打印10000以内的完数(附完整源码)
    查看>>