Skip to content

Commit 9aa3544

Browse files
author
yutingzeng
committed
修改函数名和注释
1 parent 1e76c23 commit 9aa3544

File tree

3 files changed

+43
-15
lines changed

3 files changed

+43
-15
lines changed

TLSSigAPITest.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ const (
1111
)
1212

1313
func main() {
14-
sig, err := tencentyun.GenSig(sdkappid, key, "xiaojun", 86400*180)
14+
sig, err := tencentyun.GenUserSig(sdkappid, key, "xiaojun", 86400*180)
1515
if err != nil {
1616
fmt.Println(err.Error())
1717
} else {
1818
fmt.Println(sig)
1919
}
20-
sig, err = tencentyun.GenSigWithUserBuf(sdkappid, key, "xiaojun", 86400*180,10000,255)
20+
sig, err = tencentyun.GenPrivateMapKey(sdkappid, key, "xiaojun", 86400*180,10000,255)
2121
if err != nil {
2222
fmt.Println(err.Error())
2323
} else {

tempCodeRunnerFile.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
genPrivat

tencentyun/TLSSigAPI.go

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -136,21 +136,48 @@ func genSig(sdkappid int, key string, identifier string, expire int, userbuf []b
136136
w.Close()
137137
return base64urlEncode(b.Bytes()), nil
138138
}
139+
/**
140+
*【功能说明】用于签发 TRTC 和 IM 服务中必须要使用的 UserSig 鉴权票据
141+
*
142+
*【参数说明】
143+
* sdkappid - 应用id
144+
* key - 计算 usersig 用的加密密钥,控制台可获取
145+
* userid - 用户id,限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
146+
* expire - UserSig 票据的过期时间,单位是秒,比如 86400 代表生成的 UserSig 票据在一天后就无法再使用了。
147+
*/
139148

140-
func GenSig(sdkappid int, key string, identifier string, expire int) (string, error) {
141-
return genSig(sdkappid, key, identifier, expire, nil)
149+
func GenUserSig(sdkappid int, key string, userid string, expire int) (string, error) {
150+
return genSig(sdkappid, key, userid, expire, nil)
142151
}
143-
/**用于生成实时音视频(TRTC)业务进房权限加密串,具体用途用法参考TRTC文档:https://cloud.tencent.com/document/product/647/32240
144-
* @brief 生成带userbuf的sig
145-
* @param identifier 用户名
146-
* @param sdkappid sdkappid
147-
* @param roomnum 数字房间号
148-
* @param expire 过期时间:该权限加密串的过期时间,建议300秒.
149-
* @param privilege 用户权限,255表示所有权限
150-
* @return byte[] sig
152+
153+
/**
154+
*【功能说明】
155+
* 用于签发 TRTC 进房参数中可选的 PrivateMapKey 权限票据。
156+
* PrivateMapKey 需要跟 UserSig 一起使用,但 PrivateMapKey 比 UserSig 有更强的权限控制能力:
157+
* - UserSig 只能控制某个 UserID 有无使用 TRTC 服务的权限,只要 UserSig 正确,其对应的 UserID 可以进出任意房间。
158+
* - PrivateMapKey 则是将 UserID 的权限控制的更加严格,包括能不能进入某个房间,能不能在该房间里上行音视频等等。
159+
* 如果要开启 PrivateMapKey 严格权限位校验,需要在【实时音视频控制台】=>【应用管理】=>【应用信息】中打开“启动权限密钥”开关。
160+
*
161+
*【参数说明】
162+
* sdkappid - 应用id。
163+
* key - 计算 usersig 用的加密密钥,控制台可获取。
164+
* userid - 用户id,限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
165+
* expire - PrivateMapKey 票据的过期时间,单位是秒,比如 86400 生成的 PrivateMapKey 票据在一天后就无法再使用了。
166+
* roomid - 房间号,用于指定该 userid 可以进入的房间号
167+
* privilegeMap - 权限位,使用了一个字节中的 8 个比特位,分别代表八个具体的功能权限开关:
168+
* - 第 1 位:0000 0001 = 1,创建房间的权限
169+
* - 第 2 位:0000 0010 = 2,加入房间的权限
170+
* - 第 3 位:0000 0100 = 4,发送语音的权限
171+
* - 第 4 位:0000 1000 = 8,接收语音的权限
172+
* - 第 5 位:0001 0000 = 16,发送视频的权限
173+
* - 第 6 位:0010 0000 = 32,接收视频的权限
174+
* - 第 7 位:0100 0000 = 64,发送辅路(也就是屏幕分享)视频的权限
175+
* - 第 8 位:1000 0000 = 200,接收辅路(也就是屏幕分享)视频的权限
176+
* - privilegeMap == 1111 1111 == 255 代表该 userid 在该 roomid 房间内的所有功能权限。
177+
* - privilegeMap == 0010 1010 == 42 代表该 userid 拥有加入房间和接收音视频数据的权限,但不具备其他权限。
151178
*/
152-
func GenSigWithUserBuf(sdkappid int, key string, identifier string, expire int, roomnum uint32,privilege uint32) (string, error) {
153-
var userbuf []byte = genUserBuf(identifier,sdkappid,roomnum,expire,privilege,0);
154-
return genSig(sdkappid, key, identifier, expire, userbuf)
179+
func GenPrivateMapKey(sdkappid int, key string, userid string, expire int, roomid uint32,privilegeMap uint32) (string, error) {
180+
var userbuf []byte = genUserBuf(userid,sdkappid,roomid,expire,privilegeMap,0);
181+
return genSig(sdkappid, key, userid, expire, userbuf)
155182
}
156183

0 commit comments

Comments
 (0)