代码拉取完成,页面将自动刷新
import im.zego.serverassistant.ZegoServerAssistant;
import im.zego.serverassistant.ZegoServerAssistant.TokenInfo;
enum ErrorCode {
/**
* 生成鉴权 token 成功
*/
SUCCESS(0),
/**
* 传入 appId 参数错误
*/
ILLEGAL_APP_ID(1),
/**
* 传入 userId 参数错误
*/
ILLEGAL_USER_ID(3),
/**
* 传入 secret 参数错误
*/
ILLEGAL_SECRET(5),
/**
* 传入 effectiveTimeInSeconds 参数错误
*/
ILLEGAL_EFFECTIVE_TIME(6),
/**
* 其它未定义错误
*/
OTHER(-1);
}
/**
* 根据所提供的参数列表生成用于与即构服务端通信的鉴权 token
* @param appId Zego派发的数字ID, 各个开发者的唯一标识
* @param userId 用户 ID
* @param secret 由即构提供的与 appId 对应的密钥,请妥善保管,切勿外泄
* @param effectiveTimeInSeconds token 的有效时长,单位:秒
* @return 返回 token 内容,在使用前,请检查 error 字段是否为 SUCCESS。实际 token 内容保存在 data 字段中
*/
TokenInfo generateToken04(long appId, String userId, String secret, int effectiveTimeInSeconds, String payload)
public static void main(String[] args) {
long appId = 1L; // 由即构提供
String secretKey = "12345678900987654321123456789012"; // 由即构提供
String userId = "demo"; // 用户 ID,同一 appId 下全网唯一
int effectiveTimeInSeconds = 300; // 有效时间,单位:秒
String payload = "{\"room_id\":\"demo\"}"; // 填入自定义的payload值,如room_id。 非必输,不传则payload赋值null。
ZegoServerAssistant.VERBOSE = true; // 正式运行时,最好置为 false
TokenInfo token = ZegoServerAssistant.generateToken04(appId, userId, secretKey, effectiveTimeInSeconds, payload);
System.out.println(token);
}
权限认证 Token 指的是为了进一步提高安全性开放了房间 ID 和推流 ID 这两个权限位,可以验证登录房间的 ID 和推流 ID。
public static void main(String[] args) {
long appId = 1L; // 由即构提供
String secretKey = "12345678900987654321123456789012"; // 由即构提供
String userId = "test_user"; // 用户 ID,同一 appId 下全网唯一
int effectiveTimeInSeconds = 300; // 有效时间,单位:秒
JSONObject payloadData = new JSONObject();
payloadData.put("room_id", "demo"); // 房间id,限制用户只能登录特定房间,必输。
JSONObject privilege = new JSONObject();
//是否允许登录房间 1 允许 0关闭
privilege.put(TokenServerAssistant.PrivilegeKeyLogin, TokenServerAssistant.PrivilegeEnable);
//是否允许推流 1 允许 0关闭
privilege.put(TokenServerAssistant.PrivilegeKeyPublish, TokenServerAssistant.PrivilegeDisable);
payloadData.put("privilege", privilege); // 必输,登录房间、推流两个权限位必须赋值其中一个或两个。
payloadData.put("stream_id_list", null); // 流列表,非必输
String payload = payloadData.toJSONString();
TokenServerAssistant.VERBOSE = false; // 调试时,置为 true, 可在控制台输出更多信息;正式运行时,最好置为 false
TokenServerAssistant.TokenInfo token = TokenServerAssistant.generateToken04(appId, userId, secretKey, effectiveTimeInSeconds, payload);
System.out.println(token.data);
}
前往 Github 代码托管地址 下载最新代码。
若项目中已使用了 com.googlecode.json-simple 库,请忽略此步,否则根据你项目的组织方式选择如下方式之一进行引入。
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<classpathentry kind="lib" path="libs/json-simple-1.1.1.jar"/>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。