登录鉴权
更新时间: 2026/01/06 15:49:38
本文介绍了网易会议组件(NEMeetingKit)提供的登录鉴权方式和示例。
调用时机
您只有完成网易会议组件登录鉴权才可以使用网易会议组件的相关接口,包括创建会议、加入会议、编辑预约会议等。
前提条件
根据本文操作前,请确保您已经完成了以下操作:
登录方式
网易会议组件提供了多种登录方式供您选择,具体通过 NEAccountService 实现,如下表所示。
| 实现接口 | 登录方式说明 |
|---|---|
| loginByEmail | 通过邮箱密码登录鉴权。 |
| loginByPassword | 通过用户唯一 ID 和密码登录鉴权。 |
| loginByPhoneNumber | 通过电话号码密码登录鉴权。 |
| loginByToken | 根据用户唯一 ID 和 Token 登录鉴权。 |
| tryAutoLogin | 尝试使用最近一次成功登录过的账号信息,进行自动登录。 |
账号参数信息(userUuid 和 token)请从服务端接口 meeting/api/v2/add-user 获取,由您自行实现相关业务逻辑。
登录示例
以下通过 Token 登录(loginByToken)方式为例,说明 NEMeetingKit 的登录鉴权逻辑,其他登录方式的鉴权逻辑同理。
-
调用服务端接口 创建账号 获取账号和 token。
-
调用
loginByToken方法登录并进行回调处理,该接口无额外回调结果数据。示例代码如下:
Java// 登录操作 NEMeetingKit.getInstance().getAccountService().loginByToken(userUuid, token, new NECallback<NEAccountInfo>() { @Override public void onResult(int resultCode, String resultMsg, NEAccountInfo resultData) { if (resultCode == NEMeetingError.ERROR_CODE_SUCCESS) { // 登录成功 } else { // 登录失败 Log.e("Login", "登录失败: " + resultMsg); // 处理登录失败情况,如提示用户 } } });
获取用户信息
(可选)登录成功后,您可能需要获取用户的账号信息以进行进一步的操作,例如查询登录状态、更新 UI、同步数据或验证用户权限。
getAccountInfo 方法提供了一个异步的回调接口来获取这些信息。以下是如何在登录成功后调用 getAccountInfo 方法,并处理返回的账号信息。
您可以通过该接口查询登录状态,如果获取到非空的用户信息,说明已经成功登录,否则为未登录。
Java// 登录成功后获取账号信息
private void getAccountInfoAfterLogin() {
NEMeetingKit.getInstance().getAccountService().getAccountInfo(new NECallback<NEAccountInfo>() {
@Override
public void onResult(int resultCode, String resultMsg, NEAccountInfo accountInfo) {
if (resultCode == NEMeetingError.ERROR_CODE_SUCCESS) {
// 获取账号信息成功
Log.i("AccountInfo", "获取账号信息成功: " + accountInfo);
// 根据获取的账号信息进行后续操作,如更新 UI 或同步数据
} else {
// 获取账号信息失败
Log.e("AccountInfo", "获取账号信息失败: " + resultMsg);
// 处理获取账号信息失败情况,如提示用户或重试
}
}
});
}
监听登录状态
您可以注册账号信息变更、用户登录信息变更等相关监听(NEAccountServiceListener),及时处理相关跳转以增强用户体验。
JavaNEMeetingKit.getInstance().getAccountService().addListener(new NEAccountServiceListener() {
@Override
public void onAccountInfoUpdated(@Nullable NEAccountInfo accountInfo) {
// 账号信息变更时的处理逻辑
Log.i("AccountService", "账号信息已更新");
}
@Override
public void onAuthInfoExpired() {
// 认证信息过期时的处理逻辑
Log.i("AccountService", "认证信息已过期");
// 可以在这里重新登录或提示用户
}
@Override
public void onKickOut() {
// 被踢下线时的处理逻辑
Log.i("AccountService", "账号被踢下线");
// 可以在这里提示用户或重新登录
}
@Override
public void onReconnected() {
// 重新连接成功时的处理逻辑
Log.i("AccountService", "账号重新连接成功");
// 可以在这里刷新 UI 或同步数据
}
// ...
});
注销登录
注销登录时,会注销当前用户已登录的账号,返回未登录状态。您可以调用 logout 方法注销当前账号并进行回调处理。该接口无额外回调结果数据,您可根据错误码判断接口是否调用成功。
账号注销后,登录状态会被清空,且无法再使用该账号创建会议。
示例代码如下:
JavaNEMeetingKit.getInstance().getAccountService().logout(new NECallback<Void>() {
@Override
public void onResult(int resultCode, String resultMsg, Void result) {
if (resultCode == NEMeetingError.ERROR_CODE_SUCCESS) {
//注销登录成功
} else {
//注销登录失败
}
}
});




