作为Java程序员,我们要做的东西其实没有太多的工作,主要是app工程师或者前端工程师的任务量相对较大。主要是看实现方式,实现方式决定了后端工作量的大小。再设计或者开发第三方登陆功能之前,请先看一下微信提供的API文档。在进行接入第三方登陆之前,请申请到已被批准的appId和appSecrect。
注意事项:安卓和IOS的appId和appSecrect一定要一致(不下发的情况下),如果你做的是一个平台可以作为一个单独的账号的话另当别论。
名词解释:
appId:应用唯一标识,在微信开放平台提交应用审核通过后获得。
secret:应用密钥。(切记,妥善保管)
方案一:把appId和secret都给移动端,让移动端工程师去处理。具体实现步骤让他们参考微信提供的API。
最重要的一个步骤:
返回数据格式:
{
"openid":"OPENID",
"nickname":"NICKNAME",
"sex":1,
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
"privilege":[
"PRIVILEGE1",
"PRIVILEGE2"
],
"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
返回参数说明:
对于我们来说,最重要的是openid,把它作为第三方登陆唯一标识即可。然后其他走正常用户登陆逻辑。同一对appId和appSecret获取一个微信账号的openid是唯一的,对于后端程序员,如果使用方案一进行实现微信登陆的话,搞完这些对接,信息入库,走登陆逻辑,你的任务基本上就完成了。
优点:(对于后端程序员方便快捷,实现方式较简单)
缺点:安全性不是很高