前言
家喻户晓,目前状况下要实现微信账号相干的多端账号对立必须通过开放平台,应用 unionid 来实现。然而如果在没有开放平台(或者其余起因不想用、不能用),或者先有网站端已应用了原始登录形式(账号密码、手机号验证码等)的状况下,怎么实现账号对立呢?我这里想到了一种应用小程序内的扫码性能 api(wx.scanCode)实现网站和小程序端用户账号对立的办法,欢送探讨。
小程序扫码登录网站
这种个别是先有小程序,小程序端应用微信受权登录,而后须要在网站上应用同一账号登录。一般来说是在小程序端要求用户设置账号密码、或者先绑定手机号之后,再用账号密码或者手机号验证码登录。
小程序扫码的办法是网页上要登录时学生成一个惟一的 登录码,比方:1234
,让后放在网站域名下的一个网址中,比方:http://www.abc.com/?loginCode=1234
,而后把这个网址生成二维码展现。为了更好的用户体验,这个网址应该是理论可拜访的,能够用于在应用微信扫码时展现小程序码疏导用户关上小程序。
用户在小程序中应用扫码 api 扫码后从扫码后果中提取出登录码,提交到后端接口,后端接口将登录码和以后登录小程序的用户绑定。网页端在展现二维码后,开启一个轮询,定时拜访后端接口查问该登录码的登录状态,在该登录码和小程序已登录用户绑定后实现网站上的用户登录。
小程序扫码登录小程序
这种个别是先有网站,小程序端要用网站用户登录的状况,个别的做法是小程序端也用和网站上一样的账号密码或者手机号验证码(或者微信受权获取手机号)的形式登录。
小程序扫码的办法大体原理上和上一个状况一样,流程略有不同。网页上用户登录后展现带登录码的网址对应的二维码,同时将以后登录用户和登录码绑定。小程序中扫码后提取出登录码,提交到后端接口,后端接口查问该登录码绑定的用户返回后在小程序端实现登录。
网页端展现二维码后应用轮询查看登录码的登录状态,到期或者已登录后在网页端销毁二维码。
总结
总结下来,这个办法都是通过登录码和某一端登录用户绑定后,在另一端实现同一用户的登录,理论应用中还须要设置登录码的有效期等。
以上办法流程目前还没有投入实际,不晓得会有什么危险,欢送大家的探讨。