类 TokenApi
- java.lang.Object
-
- com.easemob.im.server.api.token.TokenApi
-
public class TokenApi extends java.lang.Object
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 说明 static reactor.core.publisher.Mono<Token>
fetchUserTokenWithEasemobRealm(Context context, TokenRequest tokenRequest)
reactor.core.publisher.Mono<Token>
getAppToken()
获取 App Tokenjava.lang.String
getUserToken(EMUser user, java.lang.Integer expireInSeconds, java.util.function.Consumer<AccessToken2> tokenConfigurer, java.lang.String password)
获取 User Tokenjava.lang.String
getUserTokenWithInherit(java.lang.String username)
java.lang.String
getUserTokenWithInherit(java.lang.String username, java.lang.Integer expireInSeconds)
java.lang.String
getUserTokenWithTtl(EMUser user, java.lang.Integer expireInSeconds, java.util.function.Consumer<AccessToken2> tokenConfigurer, java.lang.String password)
获取 User Token,expireInSeconds 对生成 Easemob userToken 也会生效
-
-
-
构造器详细资料
-
TokenApi
public TokenApi(Context context)
-
-
方法详细资料
-
fetchUserTokenWithEasemobRealm
public static reactor.core.publisher.Mono<Token> fetchUserTokenWithEasemobRealm(Context context, TokenRequest tokenRequest)
-
getAppToken
public reactor.core.publisher.Mono<Token> getAppToken()
获取 App Token- 返回:
- token
-
getUserToken
public java.lang.String getUserToken(EMUser user, java.lang.Integer expireInSeconds, java.util.function.Consumer<AccessToken2> tokenConfigurer, java.lang.String password)
获取 User Token可获取 Easemob userToken 或 Agora userToken. 如您初始化 service 时使用的是 Agora App Credentials, 则两种 userToken 都可以获取. 如您初始化 service 时使用的是 Easemob App Credentials, 则只能获取 Easemob userToken. 其中 Agora userToken 的结构请参考
AccessToken2
Agora userToken 中除了 AgoraChat 权限以外, 还可以自定义添加其他 Agora 服务(比如RTC)的权限, 对每个服务的权限可以单独设置不同的过期时间.
为用户 Cat 获取 Easemob userToken
EMUser cathy = new EMUser("cathy", "da920000-ecf9-11eb-9af3-296ff79acb67", true); String cathyEasemobToken = service.token().getUserToken(cathy, null, null, "passwordOfUserCat");
为用户 Alice 生成仅含 AgoraChat 权限的 Agora userToken, 有效期为3600秒:
EMUser alice = new EMUser("alice", "da920000-ecf9-11eb-9af3-296ff79acb67", true); String aliceAgoraChatToken = service.token().getUserToken(alice, 3600, null, null);
为用户 Bob 生成包含 AgoraChat 权限和 AgoraRTC (JOIN_CHANNEL) 权限的 Agora userToken, 有效期为600秒:
EMUser bob = new EMUser("bob", "da921111-ecf9-11eb-9af3-296ff79acb67", true); String bobAgoraChatRtcToken = service.token().getUserToken(bob, 600, token -> { AccessToken2.ServiceRtc serviceRtc = new AccessToken2.ServiceRtc("dummyRtcChannelName", "dummyUid"); serviceRtc.addPrivilegeRtc(AccessToken2.PrivilegeRtc.PRIVILEGE_JOIN_CHANNEL, 600); token.addService(serviceRtc); }, null);
- 参数:
user
- 用户expireInSeconds
- token 过期时间 TTL in secondstokenConfigurer
- 用来自定义添加其他 Agora 服务的 lambda functionpassword
- 用户密码- 返回:
- Easemob userToken 或 Agora userToken
-
getUserTokenWithTtl
public java.lang.String getUserTokenWithTtl(EMUser user, java.lang.Integer expireInSeconds, java.util.function.Consumer<AccessToken2> tokenConfigurer, java.lang.String password)
获取 User Token,expireInSeconds 对生成 Easemob userToken 也会生效可获取 Easemob userToken 或 Agora userToken. 如您初始化 service 时使用的是 Agora App Credentials, 则两种 userToken 都可以获取. 如您初始化 service 时使用的是 Easemob App Credentials, 则只能获取 Easemob userToken. 其中 Agora userToken 的结构请参考
AccessToken2
Agora userToken 中除了 AgoraChat 权限以外, 还可以自定义添加其他 Agora 服务(比如RTC)的权限, 对每个服务的权限可以单独设置不同的过期时间.
为用户 Cat 获取 Easemob userToken
EMUser cathy = new EMUser("cathy", "da920000-ecf9-11eb-9af3-296ff79acb67", true); String cathyEasemobToken = service.token().getUserToken(cathy, null, null, "passwordOfUserCat");
为用户 Alice 生成仅含 AgoraChat 权限的 Agora userToken, 有效期为3600秒:
EMUser alice = new EMUser("alice", "da920000-ecf9-11eb-9af3-296ff79acb67", true); String aliceAgoraChatToken = service.token().getUserToken(alice, 3600, null, null);
为用户 Bob 生成包含 AgoraChat 权限和 AgoraRTC (JOIN_CHANNEL) 权限的 Agora userToken, 有效期为600秒:
EMUser bob = new EMUser("bob", "da921111-ecf9-11eb-9af3-296ff79acb67", true); String bobAgoraChatRtcToken = service.token().getUserToken(bob, 600, token -> { AccessToken2.ServiceRtc serviceRtc = new AccessToken2.ServiceRtc("dummyRtcChannelName", "dummyUid"); serviceRtc.addPrivilegeRtc(AccessToken2.PrivilegeRtc.PRIVILEGE_JOIN_CHANNEL, 600); token.addService(serviceRtc); }, null);
- 参数:
user
- 用户expireInSeconds
- token 过期时间 TTL in secondstokenConfigurer
- 用来自定义添加其他 Agora 服务的 lambda functionpassword
- 用户密码- 返回:
- Easemob userToken 或 Agora userToken
-
getUserTokenWithInherit
public java.lang.String getUserTokenWithInherit(java.lang.String username)
-
getUserTokenWithInherit
public java.lang.String getUserTokenWithInherit(java.lang.String username, java.lang.Integer expireInSeconds)
-
-