前端获取钉钉免登code
需求
简单的一个需求:通过阿里云提供的api接口,获取公司userinfo员工信息。主要目的是通过获取到的用户身份进行校验,登录内部系统首先查阅官方文档:https://ding-doc.dingtalk.com/doc#/dev/about推荐步骤:
- OA 控制台创建一个微应用: https://oa.dingtalk.com 我的应用是H5企业内部微应用
- 在工作中获取
appkey
和appsecret
,建议先在官方api中调试:https://open-dev.dingtalk.com/apiExplorer - 获取企业
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>