agora-token 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/eslint.config.mjs +8 -0
- package/index.d.ts +255 -140
- package/index.js +8 -7
- package/package.json +23 -18
- package/sample/AccessToken2Sample.js +20 -12
- package/sample/ApaasTokenSample.js +27 -0
- package/sample/ChatTokenBuilderSample.js +16 -5
- package/sample/EducationTokenSample.js +33 -20
- package/sample/FpaTokenBuilderSample.js +14 -5
- package/sample/RtcTokenBuilder2Sample.js +73 -15
- package/sample/RtcTokenBuilderSample.js +21 -16
- package/sample/RtmTokenBuilder2Sample.js +14 -3
- package/sample/RtmTokenBuilderSample.js +20 -11
- package/sample.js +1 -1
- package/src/AccessToken2.js +38 -30
- package/src/ApaasTokenBuilder.js +80 -0
- package/src/ChatTokenBuilder.js +17 -18
- package/src/EducationTokenBuilder.js +21 -21
- package/src/RtcTokenBuilder.js +41 -44
- package/src/RtcTokenBuilder2.js +138 -61
- package/src/RtmTokenBuilder2.js +9 -9
- package/test/AccessToken2Test.js +111 -105
- package/test/ApaasTokenBuilderTest.js +45 -0
- package/test/EducationTokenBuilderTest.js +35 -35
package/test/AccessToken2Test.js
CHANGED
|
@@ -3,108 +3,114 @@
|
|
|
3
3
|
* nodeunit AccessTokenTest.js
|
|
4
4
|
* see https://github.com/caolan/nodeunit
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
6
|
+
const { AccessToken2, ServiceRtc, ServiceRtm, ServiceChat } = require('../src/AccessToken2')
|
|
7
|
+
|
|
8
|
+
var appID = '970CA35de60c44645bbae8a215061b33'
|
|
9
|
+
var appCertificate = '5CFd2fd1755d40ecb72977518be15d3b'
|
|
10
|
+
var channel = '7d72365eb983485397e3e3f9d460bdda'
|
|
11
|
+
var uid = 2882341273
|
|
12
|
+
var uidStr = '2882341273'
|
|
13
|
+
var ts = 1111111
|
|
14
|
+
var expire = 600
|
|
15
|
+
var salt = 1
|
|
16
|
+
var user_id = 'test_user'
|
|
17
|
+
|
|
18
|
+
exports.AccessToken_Test = function (test) {
|
|
19
|
+
var expected =
|
|
20
|
+
'007eJxTYBBbsMMnKq7p9Hf/HcIX5kce9b518kCiQgSr5Zrp4X1Tu6UUGCzNDZwdjU1TUs0Mkk1MzExMk5ISUy0SjQxNDcwMk4yN3b8IMEQwMTAwMoAwBIL4CgzmKeZGxmamqUmWFsYmFqbGluapxqnGaZYpJmYGSSkpiVwMRhYWRsYmhkbmxgDCaiTj'
|
|
21
|
+
|
|
22
|
+
var token = new AccessToken2(appID, appCertificate, ts, expire)
|
|
23
|
+
token.salt = salt
|
|
24
|
+
let rtc_service = new ServiceRtc(channel, uid)
|
|
25
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegeJoinChannel, expire)
|
|
26
|
+
token.add_service(rtc_service)
|
|
27
|
+
|
|
28
|
+
var actual = token.build()
|
|
29
|
+
test.equal(expected, actual)
|
|
30
|
+
test.done()
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// test uid = 0
|
|
34
|
+
exports.AccessToken_Test2 = function (test) {
|
|
35
|
+
var expected =
|
|
36
|
+
'007eJxTYLhzZP08Lxa1Pg57+TcXb/3cZ3wi4V6kbpbOog0G2dOYk20UGCzNDZwdjU1TUs0Mkk1MzExMk5ISUy0SjQxNDcwMk4yN3b8IMEQwMTAwMoAwBIL4CgzmKeZGxmamqUmWFsYmFqbGluapxqnGaZYpJmYGSSkpiQwMADacImo='
|
|
37
|
+
|
|
38
|
+
var token = new AccessToken2(appID, appCertificate, ts, expire)
|
|
39
|
+
token.salt = salt
|
|
40
|
+
let rtc_service = new ServiceRtc(channel, 0)
|
|
41
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegeJoinChannel, expire)
|
|
42
|
+
token.add_service(rtc_service)
|
|
43
|
+
|
|
44
|
+
var actual = token.build()
|
|
45
|
+
test.equal(expected, actual)
|
|
46
|
+
test.done()
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// test service rtc account
|
|
50
|
+
exports.AccessToken_Test3 = function (test) {
|
|
51
|
+
var expected =
|
|
52
|
+
'007eJxTYBBbsMMnKq7p9Hf/HcIX5kce9b518kCiQgSr5Zrp4X1Tu6UUGCzNDZwdjU1TUs0Mkk1MzExMk5ISUy0SjQxNDcwMk4yN3b8IMEQwMTAwMoAwBIL4CgzmKeZGxmamqUmWFsYmFqbGluapxqnGaZYpJmYGSSkpiVwMRhYWRsYmhkbmxgDCaiTj'
|
|
53
|
+
|
|
54
|
+
var token = new AccessToken2(appID, appCertificate, ts, expire)
|
|
55
|
+
token.salt = salt
|
|
56
|
+
let rtc_service = new ServiceRtc(channel, `${uid}`)
|
|
57
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegeJoinChannel, expire)
|
|
58
|
+
token.add_service(rtc_service)
|
|
59
|
+
|
|
60
|
+
var actual = token.build()
|
|
61
|
+
test.equal(expected, actual)
|
|
62
|
+
test.done()
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// test service multi service
|
|
66
|
+
exports.AccessToken_Test4 = function (test) {
|
|
67
|
+
var expected =
|
|
68
|
+
'007eJxTYOAQsrQ5s3TfH+1tvy8zZZ46EpCc0V43JXdGd2jS8porKo4KDJbmBs6OxqYpqWYGySYmZiamSUmJqRaJRoamBmaGScbG7l8EGCKYGBgYGRgYmBgYGVgYGMF8JjDJDCZZwKQCg3mKuZGxmWlqkqWFsYmFqbGleapxqnGaZYqJmUFSSkoiF4ORhYWRsYmhkbkxyCyISZwMJanFJfGlxalFACKnKng='
|
|
69
|
+
|
|
70
|
+
var token = new AccessToken2(appID, appCertificate, ts, expire)
|
|
71
|
+
token.salt = salt
|
|
72
|
+
let rtc_service = new ServiceRtc(channel, uid)
|
|
73
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegeJoinChannel, expire)
|
|
74
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegePublishAudioStream, expire)
|
|
75
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegePublishVideoStream, expire)
|
|
76
|
+
rtc_service.add_privilege(ServiceRtc.kPrivilegePublishDataStream, expire)
|
|
77
|
+
token.add_service(rtc_service)
|
|
78
|
+
|
|
79
|
+
let rtm_service = new ServiceRtm(user_id)
|
|
80
|
+
rtm_service.add_privilege(ServiceRtm.kPrivilegeLogin, expire)
|
|
81
|
+
token.add_service(rtm_service)
|
|
82
|
+
|
|
83
|
+
var actual = token.build()
|
|
84
|
+
test.equal(expected, actual)
|
|
85
|
+
test.done()
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
exports.AccessToken_Test_buildChatUserToken = function (test) {
|
|
89
|
+
var expected =
|
|
90
|
+
'007eJxTYNAIsnbS3v/A5t2TC6feR15r+6cq8bqAvfaW+tk/Vzz+p6xTYLA0N3B2NDZNSTUzSDYxMTMxTUpKTLVINDI0NTAzTDI2dv8iwBDBxMDAyADCrAyMDIxgPheDkYWFkbGJoZG5MQAfpR64'
|
|
91
|
+
|
|
92
|
+
var token = new AccessToken2(appID, appCertificate, ts, expire)
|
|
93
|
+
token.salt = salt
|
|
94
|
+
let chat_service = new ServiceChat(uidStr)
|
|
95
|
+
chat_service.add_privilege(ServiceChat.kPrivilegeUser, expire)
|
|
96
|
+
token.add_service(chat_service)
|
|
97
|
+
|
|
98
|
+
var actual = token.build()
|
|
99
|
+
test.equal(expected, actual)
|
|
100
|
+
test.done()
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
exports.AccessToken_Test_buildChatAppToken = function (test) {
|
|
104
|
+
var expected =
|
|
105
|
+
'007eJxTYNDNaz3snC8huEfHWdz6s98qltq4zqy9fl99Uh0FDvy6F6DAYGlu4OxobJqSamaQbGJiZmKalJSYapFoZGhqYGaYZGzs/kWAIYKJgYGRAYRZGRgZmMB8BgYArfIYaw=='
|
|
106
|
+
|
|
107
|
+
var token = new AccessToken2(appID, appCertificate, ts, expire)
|
|
108
|
+
token.salt = salt
|
|
109
|
+
let chat_service = new ServiceChat()
|
|
110
|
+
chat_service.add_privilege(ServiceChat.kPrivilegeApp, expire)
|
|
111
|
+
token.add_service(chat_service)
|
|
112
|
+
|
|
113
|
+
var actual = token.build()
|
|
114
|
+
test.equal(expected, actual)
|
|
115
|
+
test.done()
|
|
116
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* run this test with command:
|
|
3
|
+
* nodeunit test/ApaasTokenBuilderTest.js
|
|
4
|
+
* see https://github.com/caolan/nodeunit
|
|
5
|
+
*/
|
|
6
|
+
const ApaasTokenBuilder = require('../src/ApaasTokenBuilder').ApaasTokenBuilder
|
|
7
|
+
const { AccessToken2, kApaasServiceType } = require('../src/AccessToken2')
|
|
8
|
+
const appId = '970CA35de60c44645bbae8a215061b33'
|
|
9
|
+
const appCertificate = '5CFd2fd1755d40ecb72977518be15d3b'
|
|
10
|
+
const expire = 600
|
|
11
|
+
const roomUuid = '123'
|
|
12
|
+
const userUuid = '2882341273'
|
|
13
|
+
const role = 1
|
|
14
|
+
|
|
15
|
+
exports.BuildRoomUserToken_Test = function (test) {
|
|
16
|
+
let accessToken = new AccessToken2('', '', 0, 0)
|
|
17
|
+
let token = ApaasTokenBuilder.buildRoomUserToken(appId, appCertificate, roomUuid, userUuid, role, expire)
|
|
18
|
+
accessToken.from_string(token)
|
|
19
|
+
test.equal(appId, accessToken.appId)
|
|
20
|
+
test.equal(expire, accessToken.expire)
|
|
21
|
+
test.equal(roomUuid, accessToken.services[kApaasServiceType].__room_uuid)
|
|
22
|
+
test.equal(userUuid, accessToken.services[kApaasServiceType].__user_uuid)
|
|
23
|
+
test.equal(role, accessToken.services[kApaasServiceType].__role)
|
|
24
|
+
test.done()
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
exports.BuildUserToken_Test = function (test) {
|
|
28
|
+
let accessToken = new AccessToken2('', '', 0, 0)
|
|
29
|
+
let token = ApaasTokenBuilder.buildUserToken(appId, appCertificate, userUuid, expire)
|
|
30
|
+
accessToken.from_string(token)
|
|
31
|
+
|
|
32
|
+
test.equal(appId, accessToken.appId)
|
|
33
|
+
test.equal(expire, accessToken.expire)
|
|
34
|
+
test.equal(userUuid, accessToken.services[kApaasServiceType].__user_uuid)
|
|
35
|
+
test.done()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.BuildAppToken_Test = function (test) {
|
|
39
|
+
let accessToken = new AccessToken2('', '', 0, 0)
|
|
40
|
+
let token = ApaasTokenBuilder.buildAppToken(appId, appCertificate, expire)
|
|
41
|
+
accessToken.from_string(token)
|
|
42
|
+
test.equal(appId, accessToken.appId)
|
|
43
|
+
test.equal(expire, accessToken.expire)
|
|
44
|
+
test.done()
|
|
45
|
+
}
|
|
@@ -3,43 +3,43 @@
|
|
|
3
3
|
* nodeunit test/EducationTokenBuilderTest.js
|
|
4
4
|
* see https://github.com/caolan/nodeunit
|
|
5
5
|
*/
|
|
6
|
-
const
|
|
7
|
-
const {AccessToken2,
|
|
8
|
-
const appId =
|
|
9
|
-
const appCertificate =
|
|
6
|
+
const EducationTokenBuilder = require('../src/EducationTokenBuilder').EducationTokenBuilder
|
|
7
|
+
const { AccessToken2, kApaasServiceType } = require('../src/AccessToken2')
|
|
8
|
+
const appId = '970CA35de60c44645bbae8a215061b33'
|
|
9
|
+
const appCertificate = '5CFd2fd1755d40ecb72977518be15d3b'
|
|
10
10
|
const expire = 600
|
|
11
|
-
const roomUuid =
|
|
12
|
-
const userUuid =
|
|
13
|
-
const role = 1
|
|
11
|
+
const roomUuid = '123'
|
|
12
|
+
const userUuid = '2882341273'
|
|
13
|
+
const role = 1
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
exports.BuildRoomUserToken_Test = function (test) {
|
|
16
|
+
let accessToken = new AccessToken2('', '', 0, 0)
|
|
17
|
+
let token = EducationTokenBuilder.buildRoomUserToken(appId, appCertificate, roomUuid, userUuid, role, expire)
|
|
18
|
+
accessToken.from_string(token)
|
|
19
|
+
test.equal(appId, accessToken.appId)
|
|
20
20
|
test.equal(expire, accessToken.expire)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
test.equal(roomUuid, accessToken.services[kApaasServiceType].__room_uuid)
|
|
22
|
+
test.equal(userUuid, accessToken.services[kApaasServiceType].__user_uuid)
|
|
23
|
+
test.equal(role, accessToken.services[kApaasServiceType].__role)
|
|
24
|
+
test.done()
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
exports.BuildUserToken_Test = function (test) {
|
|
28
|
-
let accessToken = new AccessToken2('', '', 0, 0)
|
|
29
|
-
let token = EduTokenBuilder.buildUserToken(appId, appCertificate, userUuid, expire)
|
|
30
|
-
accessToken.from_string(token)
|
|
31
26
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
27
|
+
exports.BuildUserToken_Test = function (test) {
|
|
28
|
+
let accessToken = new AccessToken2('', '', 0, 0)
|
|
29
|
+
let token = EducationTokenBuilder.buildUserToken(appId, appCertificate, userUuid, expire)
|
|
30
|
+
accessToken.from_string(token)
|
|
31
|
+
|
|
32
|
+
test.equal(appId, accessToken.appId)
|
|
33
|
+
test.equal(expire, accessToken.expire)
|
|
34
|
+
test.equal(userUuid, accessToken.services[kApaasServiceType].__user_uuid)
|
|
35
|
+
test.done()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.BuildAppToken_Test = function (test) {
|
|
39
|
+
let accessToken = new AccessToken2('', '', 0, 0)
|
|
40
|
+
let token = EducationTokenBuilder.buildAppToken(appId, appCertificate, expire)
|
|
41
|
+
accessToken.from_string(token)
|
|
42
|
+
test.equal(appId, accessToken.appId)
|
|
43
|
+
test.equal(expire, accessToken.expire)
|
|
44
|
+
test.done()
|
|
45
|
+
}
|