第一步:用ISV账号在专有钉钉的开放平台创建一个H5应用。
第二步:点击创建的那个H5微应用的详情,进入详情页面。
第三步:在详情页面可以拿到当前应用的appkey和appsecret。
第四步:使用ISV账号登录管理工作台,管理工作台
在管理工作台打开控制台,全局搜索realmId,拿到这个值,前端处理,来进行获取authcode,这个authcode在pc端的时候就叫authcode,在专有钉钉APP中拿到的是code。如下是在H5应用中使用realmId来进行获取code的代码。
//npm install gdt-jsapi --save
import dd from 'gdt-jsapi';
dd.ready(()=>{
dd.getAuthCode({corpId: realmId}).then(res =>{
let info = {
authCode: res.code,
that: me
}
me.$store.dispatch('getDingUser', info).then(res => {
me.overlayShow = false;
me.contentShow = true;
if (me.$route.path === '/zjIndex') {
me.$router.push('/zj_sjtb');
}
}).catch(err=>{
Dialog.alert({
message: err.data.msg,
theme: 'round-button',
confirmButtonColor: '#1989fa',
}).then(() => {
me.overlayShow = false;
});
})
})
})
第五步:把第四步拿到的code传给后端
dd.ready只有在手机专有钉钉APP中才会调用。在通过realmId拿到code之后,根据自己后端的写法,接下来就是调用一个接口,把这个code传给后端,然后后端用这个code,还有之前从H5应用里边拿到的appkey和appsecret来获取的accessToken,来进行用户信息的获取,用来实现用户免登进入。
比如我的系统里边,调用一个接口,传到后端,然后后端给我返回登录token,用来给免登的用户,调用其它页面接口的时候使用
第六步:怎么把自己写的H5应用放到专有钉钉上呢?怎么跟自己创建的应用进行绑定呢,其实很简单。
在本地调试的话,就是在专有钉钉开放平台中,找到自己要配置的应用,然后把自己的页面地址,直接配置上就行。如下图:
这里要注意的是,添加过来的首页地址,必须有获取code的处理逻辑代码。
以上这些步骤主要是前端的处理,后端的代码处理,一个是根据appkey和appsecret,处理获取accesstoken,一个是通过前端传过来的code以及自己处理得到的accesstoken来获取用户信息,进行与自己系统的免登处理。由于本人是做前端的,后端的只是流程了解,代码就不贴出了可以到开发文档中查看