接入 White SDK 并开发一个完整的实时互动白板,你不但需要开发客户端(前端) App,还需要开发一个服务端应用。这个服务端应用,除了承载其他业务之外,还需要管理房间,以及为客户端(前端)App 分发用于鉴权的 Token。
一个完整的实时互动白板应用包括客户端(前端)和后端两个部分。两端彼此配合以实现创建房间、分发 Token、加入房间、参与互动。
Netless 实时互动白板通过 Room Token 管理权限。你可以通过 Netless 提供的服务端 API 为特定房间生成不同角色的 Room Token。Netless 提供的角色,权限从低到高分别为 reader、writer、admin。低级别角色能做的事,高级别角色也能做,但反过来不成立。
特别的,服务端 API 中,SDK Token 可以当作任意房间的 admin 角色的 Room Token 使用。
你需要根据 Netless 提供的 Room Token 机制,结合业务的用户系统和权限管理,设计你自己的业务逻辑。
虽然你可以通过把 SDK Token 写到客户端(前端),并通过前端调用 Netless 服务端 API 以实现完整的业务流程。但是,我们非常不推荐你这么做。
如果你决定不写服务端应用,这么以来会有两个明显的问题。
任何基于 Netless 服务端 API 的操作都要由 SDK Token 发起。SDK Token 是公司和团队的重要资产,如果被客户端(前端)持有,别人可以通过反编译、抓包等途径来窃取 SDK Token。SDK Token 一旦泄漏,会带来严重的安全问题。
Netless 云端不知道你的用户系统,也不知道你的鉴权逻辑。你的用户系统的权限管理需要一个载体,这个载体便是业务服务器。业务服务器需要把你自己设计的鉴权逻辑翻译成 Netless 能理解的 Room Token。