账号集成与登录

更新时间: 2024/09/09 10:34:21

您需要先登录 NERoom,才能进行创建房间、进入房间、发消息、共享白板等操作。

功能原理

NERoom登录鉴权.png

  1. App 客户端向 App Server(App自己的服务器)请求 Token。
  2. App Server 通过网易云信 NERoom Server 提供的创建账号 接口,获取 Token。
  3. 网易云信 NERoom Server 返回 Token 给 App Server。
  4. App Server 将 Token 返回给 App 客户端,App 客户端负责保存 Token。
  5. App 客户端向 NERoom SDK 请求登录 NERoom,传入 userUuid 和 Token。
  6. NERoom SDK 向 NERoom Server 请求校验该 Token 是否正确。
  7. NERoom Server 校验 Token 成功,返回成功的回调给 NERoom SDK。
  8. NERoom SDK 返回成功的回调给 App。

账号登录

配置步骤

  1. 初始化 RoomKit SDK。并从NERoom实例的authService方法中获取NEAuthService实例。

  2. 通过 NEAuthService 实例中的 login 接口进行账号登录。

登录时的账号信息,请通过服务端的getToken接口获取。

示例代码

实现账号登录的示例代码如下:

   /**
    * @param account 登录的账号
    * @param token 登录的token
    */
    NEAuthService.login(account, token).then((res) => {
        console.log('实名登录成功')
    }).catch(err => {
        console.error('实名登录失败')
    })

监听登录状态

配置步骤

  1. 初始化 RoomKit SDK。并从 NERoom 实例的 authService 方法中获取NEAuthService实例。

  2. 调用 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()

查询登录状态

配置步骤

  1. 初始化 RoomKit SDK。并从 NERoom 实例的 authService 方法中获取NEAuthService实例。

  2. 通过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
此文档是否对你有帮助?
有帮助
去反馈
  • 功能原理
  • 账号登录
  • 配置步骤
  • 示例代码
  • 监听登录状态
  • 配置步骤
  • 示例代码
  • 查询登录状态
  • 配置步骤
  • 示例代码
  • 退出登录
  • 配置步骤
  • 示例代码
  • API 参考