账号集成与登录
更新时间: 2024/09/09 10:34:21
您需要先登录 NERoom,才能进行创建房间、进入房间、发消息、共享白板等操作。
功能原理
- App 客户端向 App Server(App自己的服务器)请求 Token。
- App Server 通过网易云信 NERoom Server 提供的
创建账号
接口,获取 Token。 - 网易云信 NERoom Server 返回 Token 给 App Server。
- App Server 将 Token 返回给 App 客户端,App 客户端负责保存 Token。
- App 客户端向 NERoom SDK 请求登录 NERoom,传入 userUuid 和 Token。
- NERoom SDK 向 NERoom Server 请求校验该 Token 是否正确。
- NERoom Server 校验 Token 成功,返回成功的回调给 NERoom SDK。
- NERoom SDK 返回成功的回调给 App。
账号登录
配置步骤
-
初始化 RoomKit SDK。并从
NERoom
实例的authService
方法中获取NEAuthService
实例。 -
通过
NEAuthService
实例中的login
接口进行账号登录。
登录时的账号信息,请通过服务端的getToken
接口获取。
示例代码
实现账号登录的示例代码如下:
/**
* @param account 登录的账号
* @param token 登录的token
*/
NEAuthService.login(account, token).then((res) => {
console.log('实名登录成功')
}).catch(err => {
console.error('实名登录失败')
})
监听登录状态
配置步骤
-
初始化 RoomKit SDK。并从
NERoom
实例的authService
方法中获取NEAuthService
实例。 -
调用
addAuthListener
接口进行监听登录状态。
示例代码
/**
* 监听登录状态
* @param listener: 遵循NEAuthListener协议的对象
*/
NEAuthService.addAuthListener(listener)
/**
* 监听事件
* code含义(0:被踢出 1:授权失败 2:服务端禁止登录 3:账号或密码错误 4:登录成功 5:未登录)
*/
const listener = (code) => {
switch(code) {
case 0:
console.log('addAuthListener: KICK_OUT')
break;
case 1:
console.log('addAuthListener: UNAUTHORIZED')
break;
case 2:
console.log('addAuthListener: FORBIDDEN')
break;
case 3:
console.log('addAuthListener: ACCOUNT_TOKEN_ERROR')
break;
case 4:
console.log('addAuthListener: LOGGED_IN')
break;
case 5:
console.log('addAuthListener: LOGGED_OUT')
break;
case 1026:
console.log('addAuthListener: TOKEN_EXPIRED')
break;
case 1027:
console.log('addAuthListener: TOKEN_INCORRECT')
break;
}
}
/**
* 取消监听
*/
NEAuthService.removeAuthListener()
查询登录状态
配置步骤
-
初始化 RoomKit SDK。并从
NERoom
实例的authService
方法中获取NEAuthService
实例。 -
通过NEAuthService的
isLoggedIn
字段,查询登录状态。- ture:表示登录成功。
- false:表示未登录。
示例代码
实现查询登录状态的示例代码如下:
const loginStatus = NEAuthService.isLoggedIn
退出登录
配置步骤
1.初始化 RoomKit SDK。并从 NERoom
实例的 authService
方法中获取NEAuthService
实例。
2.调用 logout
接口实现退出登录。
示例代码
实现退出登录的示例代码如下:
NEAuthService.logout().then(res => {
console.log(res, 'logout success')
})
.catch(err => {
console.log(err, 'logout fail')
})
API 参考
方法 | 功能描述 |
---|---|
login | 账号登录。 |
addAuthListener | 添加登录状态的监听。 |
logout | 退出登录。 |
getToken | 获取Token |
此文档是否对你有帮助?