Skip to content

Commit 6c28a86

Browse files
author
yutingzeng
committed
修改函数名和注释
1 parent 31d8e28 commit 6c28a86

File tree

2 files changed

+38
-21
lines changed

2 files changed

+38
-21
lines changed

src/TLSSigAPIv2.php

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -145,29 +145,46 @@ private function __genSig($identifier, $expire, $userbuf, $userbuf_enabled) {
145145

146146

147147
/**
148-
* 生成签名
149-
*
150-
* @param $identifier 用户账号
151-
* @param int $expire 过期时间,单位秒,默认 180 天
152-
* @return string 签名字符串
153-
* @throws \Exception
154-
*/
155-
public function genSig($identifier, $expire=86400*180) {
156-
return $this->__genSig($identifier, $expire, '', false);
148+
*【功能说明】用于签发 TRTC 和 IM 服务中必须要使用的 UserSig 鉴权票据
149+
*
150+
*【参数说明】
151+
* userid - 用户id,限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
152+
* expire - UserSig 票据的过期时间,单位是秒,比如 86400 代表生成的 UserSig 票据在一天后就无法再使用了。
153+
* 返回string 签名字符串
154+
* @throws \Exception
155+
*/
156+
public function genUserSig($userid, $expire=86400*180) {
157+
return $this->__genSig($userid, $expire, '', false);
157158
}
158159

159160
/**
160-
* 带 userbuf 生成签名。
161-
* @param $identifier 用户账号
162-
* @param int $expire 过期时间,单位秒,默认 180 天
163-
* @param string $userbuf 用户数据
164-
* @return string 签名字符串
165-
* @throws \Exception
166-
*/
167-
public function genSigWithUserBuf($identifier, $expire, $roomnum,$privilege) {
168-
$userbuf = $this->__genUserBuf($identifier,$roomnum,$expire_time,$privilege,0);
161+
*【功能说明】
162+
* 用于签发 TRTC 进房参数中可选的 PrivateMapKey 权限票据。
163+
* PrivateMapKey 需要跟 UserSig 一起使用,但 PrivateMapKey 比 UserSig 有更强的权限控制能力:
164+
* - UserSig 只能控制某个 UserID 有无使用 TRTC 服务的权限,只要 UserSig 正确,其对应的 UserID 可以进出任意房间。
165+
* - PrivateMapKey 则是将 UserID 的权限控制的更加严格,包括能不能进入某个房间,能不能在该房间里上行音视频等等。
166+
* 如果要开启 PrivateMapKey 严格权限位校验,需要在【实时音视频控制台】=>【应用管理】=>【应用信息】中打开“启动权限密钥”开关。
167+
*
168+
*【参数说明】
169+
* userid - 用户id,限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。
170+
* expire - PrivateMapKey 票据的过期时间,单位是秒,比如 86400 生成的 PrivateMapKey 票据在一天后就无法再使用了。
171+
* roomid - 房间号,用于指定该 userid 可以进入的房间号
172+
* privilegeMap - 权限位,使用了一个字节中的 8 个比特位,分别代表八个具体的功能权限开关:
173+
* - 第 1 位:0000 0001 = 1,创建房间的权限
174+
* - 第 2 位:0000 0010 = 2,加入房间的权限
175+
* - 第 3 位:0000 0100 = 4,发送语音的权限
176+
* - 第 4 位:0000 1000 = 8,接收语音的权限
177+
* - 第 5 位:0001 0000 = 16,发送视频的权限
178+
* - 第 6 位:0010 0000 = 32,接收视频的权限
179+
* - 第 7 位:0100 0000 = 64,发送辅路(也就是屏幕分享)视频的权限
180+
* - 第 8 位:1000 0000 = 200,接收辅路(也就是屏幕分享)视频的权限
181+
* - privilegeMap == 1111 1111 == 255 代表该 userid 在该 roomid 房间内的所有功能权限。
182+
* - privilegeMap == 0010 1010 == 42 代表该 userid 拥有加入房间和接收音视频数据的权限,但不具备其他权限。
183+
*/
184+
public function genPrivateMapKey($userid, $expire, $roomid,$privilegeMap) {
185+
$userbuf = $this->__genUserBuf($userid,$roomid,$expire,$privilegeMap,0);
169186
echo $userbuf . "\n";
170-
return $this->__genSig($identifier, $expire, $userbuf, true);
187+
return $this->__genSig($userid, $expire, $userbuf, true);
171188
}
172189

173190

test/test.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
require_once "../src/TLSSigAPIv2.php";
44

55
$api = new \Tencent\TLSSigAPIv2(1400000000, '5bd2850fff3ecb11d7c805251c51ee463a25727bddc2385f3fa8bfee1bb93b5e');
6-
$sig = $api->genSig('xiaojun');
6+
$sig = $api->genUserSig('xiaojun');
77
echo $sig . "\n";
88
$init_time = 0;
99
$expire = 0;
@@ -21,7 +21,7 @@
2121
} else {
2222
echo "verify ok expire $expire init time $init_time userbuf $userbuf\n";
2323
}
24-
$sig = $api->genSigWithUserBuf('xiaojun', 86400*180, 10000,255);
24+
$sig = $api->genPrivateMapKey('xiaojun', 86400*180, 10000,255);
2525
echo $sig . "\n";
2626
$init_time = 0;
2727
$expire = 0;

0 commit comments

Comments
 (0)