什么是 Token 鉴权?ZEGO SDK 有哪些 Token 鉴权方式

什么是 Token 鉴权

Token 鉴权是一种用于验证用户身份和授权的机制。在计算机网络中,鉴权(Authentication)是指对于一个声明者所声明的身份权利,对其所声明的真实性进行鉴别确认的过程。具体来说,Token 是服务端生成的一串加密字符串,用户在登录成功后生成并返回给客户端。之后客户端的每次请求都会通过 GET/POST/Header 等方式携带 Token,服务端通过验证 Token 的有效性来完成鉴权。

Token 鉴权的一些要点

  1. 无状态协议
    • HTTP 是一种无状态协议,每次请求和响应之间没有关联。
    • Token 鉴权解决了 HTTP 无状态的问题,允许客户端在请求中携带身份信息。
  2. Token 生成和验证
    • 用户登录成功后,服务端生成一个 Token 并返回给客户端。
    • 客户端在每次请求时将 Token 携带到服务端,服务端验证 Token 的有效性。
  3. Token 的特点
    • Token 不存储在服务端,而是由客户端保存。
    • Token 可以作为请求头或请求体的一部分发送。
    • Token 不依赖于 Cookie,因此可以更灵活地传递。

总之,Token 鉴权是一种轻量且高效的身份验证方式,广泛应用于现代应用程序的 API 鉴权。

ZEGO SDK 有哪些 Token 鉴权方式

ZEGO SDK 的 Token 鉴权,分为 基础鉴权 Token权限认证 Token,开发者可以根据自己的业务场景选择合适的鉴权方式。

鉴权是指验证用户是否拥有访问系统的权限,来避免因权限控制缺失或操作不当引发的安全风险问题,ZEGO 通过 Token(包括基础鉴权 Token 和权限认证 Token) 对用户进行鉴权。

鉴权方式描述应用场景
基础鉴权 Token开发者在登录房间时必须带上 Token 参数,来验证用户的合法性。基础鉴权 Token 为 Token 的基本能力,用于业务的简单权限验证场景,绝大多数情况下生成该 Token 即可。
权限认证 Token为了进一步提高安全性开放了房间 ID 和推流 ID 这两个权限位,可以验证登录房间的 ID 和推流 ID。房间 ID 和推流 ID 权限位的一般使用场景如下:房间有普通房间和会员房间的区别,需要控制非会员用户登录会员房间。语聊房或秀场直播中,需要控制推流用户和麦上用户的一致,防止“幽灵麦”现象,即在房间里听到了非麦上用户声音的情况。狼人杀等发言游戏,需要防止应用被黑客破解之后,黑客可以使用其他用户 ID 登录同一房间,获取到游戏进行的信息进行作弊,影响正常用户的游戏体验。

基础鉴权 Token 默认开通相关权限,权限认证 Token 需要联系 ZEGO 技术支持开通相关权限。

不同平台的 SDK 支持使用 Token 鉴权功能的版本有所不同(参考如下版本号),您可以通过 getVersion 接口查询您的当前 SDK 版本,确认是否支持使用该功能。

  • iOS/Android/macOS/Windows/Unity3D:2.17.0 及以上版本
  • Flutter:2.17.1 及以上版本
  • React Native:0.17.0 及以上版本
  • uni-app:1.5.0 及以上版本
  • Electron:2.17.3 及以上版本
  • Linux(C++):2.17.3 及以上版本

实现流程

请根据您的业务开发平台,在通信能力下面的基础功能可找到相关文档,比如 iOS 平台 “使用 Token 鉴权”,这里不做详细介绍。

原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/1268/

(1)
上一篇 4月 22, 2024 9:32 上午
下一篇 4月 24, 2024 8:23 上午

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注