前端获取钉钉免登code

  |   0浏览

需求

简单的一个需求:通过阿里云提供的api接口,获取公司userinfo员工信息。主要目的是通过获取到的用户身份进行校验,登录内部系统首先查阅官方文档:https://ding-doc.dingtalk.com/doc#/dev/about推荐步骤:

  1. OA 控制台创建一个微应用: https://oa.dingtalk.com 我的应用是H5企业内部微应用
  2. 在工作中获取 appkeyappsecret ,建议先在官方api中调试:https://open-dev.dingtalk.com/apiExplorer
  3. 获取企业 CorpId,如:dingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

开发思路

使用官方的api,先弹出免登code;使用该code获取员工信息,为真,进行登录。

通过官方文档,先写一段js函数:

dd.ready(function() {            dd.runtime.permission.requestAuthCode({                corpId : 'dingxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',                onSuccess : function(result) {                    var code = result.code;                    alert('获取成功,你的免登code为:' + code);            //将code 发往后台处理                },                onFail : function(err) {                    alert('出错了, 你获取了一个自定义错误' + err);                }            });        });

在前端使用html,写一个点击事件弹出获取到的信息

<!DOCTYPE html><html lang='en'><head>    <meta charset='UTF-8'>    <title>弹出函数</title>    <!-- 引入外部js钉钉官方接口 -->    <script src='https://g.alicdn.com/dingding/dingtalk-jsapi/2.10.3/dingtalk.open.js'></script>    <!-- 引入刚刚写的js文件 -->    <script type='text/javascript' src='../static/js/dd.js'></script></head><body>    <button id='code' onclick='dd.ready()'>获取授权码</button></body></html>

使用钉钉的控制台打开微应用,看下效果:

前端获取钉钉免登code

通过api调试,获取下用户信息:

前端获取钉钉免登code

原文地址:https://blog.51cto.com/12131824/2506508