社交联盟开发日记(21),无后端直连测试环境

266 阅读2分钟

社交联盟是一个免费的社交软件开发框架、运营支持合作联盟,至今已开发4年时间,基于这个框架已经上线了两款小程序,清池和小星星

开源项目地址 gitee.com/socialuni/s…

前排寻想开发想开发社交软件的小伙伴一起交流,合作

今日任务,支持无后台方式,前端直连测试服务器

前端小伙伴不想起后端,想跨过后端直接接入社交联盟的测试环境进行开发

问题背景

一个正常接入社交联盟的应用,要有前端和后端,通过后端和社交联盟交互。 目前社交联盟不支持无后端接入方式(纯前端接入,未来会支持,之前主要是考虑前端携带秘钥访问服务器不安全,秘钥泄露问题,以后把前端信息配置在开发者信息里就可以支持了)

社交联盟提供了测试服务器和生产服务器,一位前端小伙伴想要连接测试服务器开发调试, 必须搭建后台才可连接,故为了让小伙伴不用搭建后台,所以开发此功能。

有后台流程图

image.png

无后台流程图

image.png

问题详情

可以看到有无后台的登录方式是有区别的,要兼容这两种不同的逻辑有两种方式解决,一种判断是否有自己的后台,根据后台地址判断是否直连的联盟域名,还有一种做代码冗余兼容,都走相同的逻辑,无后台的时候多走一次登陆接口。

我选择了第二种,因为感觉判断域名的方式不优雅。

问题解决方案

所以在无后台的情况下,配置的后台地址直接就是联盟的地址,通过联盟获取用户信息和token以后,再携带这些信息调一下联盟提供的兼容接口,再获取一次用信息和token就可以了。

插曲 (选看)

开发者绑定的手机号在联盟里已经注册了,而现在又带着三方应用信息和手机号来联盟注册用户,(之前的是联盟的用户,现在是三方的用户),会导致手机号重复问题, 两个不同的应用,三方应用和联盟本身的用户都存在了一张表里,就出现了手机号重复的问题,目前未处理这个问题。 应该要多加张表,联盟帮忙存三方用户的信息,这样应该也就可以实现三方系统无后台实现qq、微信等三方登录的功能了,未来会支持