社交联盟是一个免费的社交软件开发框架、运营支持合作联盟,至今已开发4年时间,基于这个框架已经上线了两款小程序,清池和小星星
开源项目地址 gitee.com/socialuni/s…
前排寻想开发想开发社交软件的小伙伴一起交流,合作
今日任务,支持无后台方式,前端直连测试服务器
前端小伙伴不想起后端,想跨过后端直接接入社交联盟的测试环境进行开发
问题背景
一个正常接入社交联盟的应用,要有前端和后端,通过后端和社交联盟交互。 目前社交联盟不支持无后端接入方式(纯前端接入,未来会支持,之前主要是考虑前端携带秘钥访问服务器不安全,秘钥泄露问题,以后把前端信息配置在开发者信息里就可以支持了)
社交联盟提供了测试服务器和生产服务器,一位前端小伙伴想要连接测试服务器开发调试, 必须搭建后台才可连接,故为了让小伙伴不用搭建后台,所以开发此功能。
有后台流程图
无后台流程图
问题详情
可以看到有无后台的登录方式是有区别的,要兼容这两种不同的逻辑有两种方式解决,一种判断是否有自己的后台,根据后台地址判断是否直连的联盟域名,还有一种做代码冗余兼容,都走相同的逻辑,无后台的时候多走一次登陆接口。
我选择了第二种,因为感觉判断域名的方式不优雅。
问题解决方案
所以在无后台的情况下,配置的后台地址直接就是联盟的地址,通过联盟获取用户信息和token以后,再携带这些信息调一下联盟提供的兼容接口,再获取一次用信息和token就可以了。
插曲 (选看)
开发者绑定的手机号在联盟里已经注册了,而现在又带着三方应用信息和手机号来联盟注册用户,(之前的是联盟的用户,现在是三方的用户),会导致手机号重复问题, 两个不同的应用,三方应用和联盟本身的用户都存在了一张表里,就出现了手机号重复的问题,目前未处理这个问题。 应该要多加张表,联盟帮忙存三方用户的信息,这样应该也就可以实现三方系统无后台实现qq、微信等三方登录的功能了,未来会支持