钉钉实现免登第三方平台
例如,微应用首页地址为https://www.dingtalk.com,需要获取当前访问用户的企业corpId值,微应用首页地址可改为https://www.dingtalk.com?在进入该首页地址页面时,使用js方法获取当前页面URL,即可获取corpId值。第三方企业应用可以在微应用的首页URL中使用$CORPID$做为参数占位符,钉钉容器会将$CORPID$替换为当前访问用户的企业corp
·
先在钉钉开放平台,创建应用。
应用信息内有AgentId,AppKey,AppSecret
开发管理内配置服务器出口IP,应用首页地址等。
说明 第三方企业应用可以在微应用的首页URL中使用$CORPID$做为参数占位符,钉钉容器会将$CORPID$替换为当前访问用户的企业corpId。
例如,微应用首页地址为https://www.dingtalk.com,需要获取当前访问用户的企业corpId值,微应用首页地址可改为https://www.dingtalk.com?corpId=$CORPID$。在进入该首页地址页面时,使用js方法获取当前页面URL,即可获取corpId值。
获取免登授权码
dd.ready(function() {
dd.runtime.permission.requestAuthCode({
corpId: "ding12345xxx", // 企业id
onSuccess: function (info) {
code = info.code // 通过该免登授权码可以获取用户身份
}});
});
调用钉钉接口,用免登授权码换取access_token
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
OapiGettokenRequest request = new OapiGettokenRequest();
request.setAppkey("appkey");
request.setAppsecret("appsecret");
request.setHttpMethod("GET");
OapiGettokenResponse response = client.execute(request);
System.out.println(response.getBody());
调用钉钉接口,用access_token换取用户信息
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/getuserinfo");
OapiV2UserGetuserinfoRequest req = new OapiV2UserGetuserinfoRequest();
req.setCode("bab02f63c1e030fbbxxxx");
OapiV2UserGetuserinfoResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
最后查询本系统用户。
更多推荐
已为社区贡献1条内容
所有评论(0)