New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dingtalk_suite

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dingtalk_suite - npm Package Compare versions

Comparing version 0.1.6 to 0.1.7

32

index.js

@@ -5,2 +5,3 @@ var agent = require('superagent');

var BASE_URL = 'https://oapi.dingtalk.com/service';
var SSO_BASE_URL = 'https://oapi.dingtalk.com';
var TICKET_EXPIRES_IN = 1000 * 60 * 20 //20分钟

@@ -14,2 +15,4 @@ var TOKEN_EXPIRES_IN = 1000 * 60 * 60 * 2 - 10000 //1小时59分50秒.防止网络延迟

this.suite_secret = conf.secret;
this.SSOSecret = conf.SSOSecret;
this.corpid = conf.corpid;
this.ticket_expires_in = TICKET_EXPIRES_IN;

@@ -30,2 +33,31 @@ this.token_expires_in = conf.token_expires_in || TOKEN_EXPIRES_IN;

Api.prototype.getSSOToken = function(callback) {
var self = this;
console.log('corpid', self.corpid);
console.log('corpsecret', self.SSOSecret);
agent.get(SSO_BASE_URL + '/sso/gettoken')
.query({
corpid: self.corpid,
corpsecret: self.SSOSecret
})
.end(util.wrapper(callback));
};
//登录
Api.prototype.getSSOUserInfoByCode = function(code, callback) {
var self = this;
self.getSSOToken(function(err, token) {
if (err) {
return callback(err);
};
console.log('SSO token', token);
agent.get(SSO_BASE_URL + '/sso/getuserinfo')
.query({
code: code,
access_token: token.access_token
})
.end(util.wrapper(callback));
});
};
Api.prototype.getLatestTicket = function(callback) {

@@ -32,0 +64,0 @@ var now = Date.now();

2

package.json
{
"name": "dingtalk_suite",
"version": "0.1.6",
"version": "0.1.7",
"main": "index",

@@ -5,0 +5,0 @@ "keywords": [

@@ -1,5 +0,7 @@

# dingtalk suite(测试中...)
钉钉套件主动调用api, 自带缓存。
# dingtalk suite
钉钉套件主动调用**API**, 自带**cache**。
回调server API见:[dingtalk_suite_callback](https://github.com/hezedu/dingtalk_suite_callback)
配和企业号 API:[dingtalk_enterprise](https://github.com/hezedu/dingtalk_enterprise)可实现ISV套件控制企业号。
##安装

@@ -12,16 +14,32 @@ `npm install dingtalk_suite`

var conf = {
suiteid: 'suitexpiygdnz51hsbbhj',
secret: 'C1oXyeJUgH_QXEHYJS4-Um-zxfv_yGSpTs3Yq6un6UV_zAlEpt-6np3fXskv5dGs',
suiteid: 'suitexpiygdnxxxxx',
secret: 'C1oXyeJUgH_QXEHYJS4-Um-zxfxxxxxxxxxxxxxxxxxx-6np3fXskv5dGs',
corpid: 'dingxxxxxxxxxxxxxxx',
SSOSecret:'C1oXyeJUgH_QXEHYJS4-Um-zxfxxxxxxxxxxxxxxxxxx-6np3fXskv5dGs',
getTicket: function(callback){
//从数据库中取出Tikcet,返回的data样式为:{value: 'xxxxxxx', expires:1452735301543}
//ticket从 dingtalk_suite_callback 处获得
callback(null, data);
fs.readFile(this.suiteid + 'ticket.txt',function(err, data){
if(err){
return callback(err);
}
data = JSON.parse(data.toString());
callback(null, data);
});
},
getToken: function(callback){
//从数据库中取出Token,返回的data样式为:{value: 'xxxxxxx', expires:1452735301543}
callback(null, data);
fs.readFile(this.suiteid + 'token.txt',function(err, data){
if(err){
return callback(err);
}
data = JSON.parse(data.toString());
callback(null, data);
});
},
saveToken: function(data, callback){
//存储Token到数据库中,data样式为:{value: 'xxxxxxx', expires:1452735301543//过期时间}
callback(null);
fs.writeFile(this.suiteid + 'token.txt',JSON.stringify(data), callback);
}

@@ -37,4 +55,4 @@ }

api.getPermanentCode(tmp_auth_code, callback)
//tmp_auth_code字符串,由 dingtalk_suite_callback 处获得。
```
tmp_auth_code字符串,由[dingtalk_suite_callback](https://github.com/hezedu/dingtalk_suite_callback)处获得。
### 获取企业号Token

@@ -62,3 +80,7 @@ ```js

```
### 免登CODE换取微应用管理员信息
```js
//ip_whitelist为数组格式:["1.2.3.4","5.6.*.*"]
api.getSSOUserInfoByCode(code, callback)
```
##钉钉文档

@@ -65,0 +87,0 @@ http://ddtalk.github.io/dingTalkDoc/?spm=a3140.7785475.0.0.p5bAUd#1-isv接口调用整体流程

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc