关于登录的一些说明

野火IM 客户端SDK运行只需要用户ID和用户token就可以了,没有登录这个功能。登录是指应用服务认证用户的过程,可以在这个过程中顺便返回用户token供SDK进行使用。因此登录属于应用行为,需要在应用系统中实现。野火IM 提供了Demo应用服务,来演示了如何完成这个动作,这里需要澄清一下几个问题。

1. 1. 是否需要双登录

有部分客户已经有自己的系统,也需要进行登录,现在集成野火IM通讯组件,就做成了需要同时登录自己的系统和野火demo应用。这种方法是不对的,应该把野火Demo应用中获取用户token的功能移植到客户自己的系统中,然后登录成功后返回给用户一个token。其它也有一些功能,比如群公告和扫码登录,需要移植的功能特别少,可以很容易完成。仅当没有自己的应用系统时才可以使用野火Demo应用服务。

2. 2. 性能的优化

野火Demo应用为了让大家快速上手,默认使用h2数据库,这样就很容易引起性能问题。需要替换成mysql,这样性能会提升很多,另外也可以使用多实例部署,提高吞吐能力。再有就是野火Demo应用的shiro使用的是数据库,一般是要放到redis中去的。

3. 3. 扫码的优化

目前扫码采用的是轮询的模式,PC或Web每5秒查询一次客户端是否扫码或确认点击。这样做是最简单的,但缺点是不够实时。正常的做法应该是使用long polling,当移动端扫码后,PC/Web立即就能显示出扫码的用户信息,当确认登录后,立即就能登录上。这里需要客户进行优化,提供用户体验。

4. 4. 异常处理

有部分操作,比如扫码,群公告相关需要通过shiro认证的,野火IM Demo中默认shiro是没有过期日期的,当客户端保存完cookies后,每次来登录就能成功。但不排除有异常情况发生,所以客户端一定要保存好登录后的cookies,另外当操作返回未登录时,要做好异常处理,比如记录用户密码重新登录,或者跳出到登录界面让用户重新登录。

野火IM

2018 © wildfirechat.cn 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2020-05-12 11:12:00

results matching ""

    No results matching ""