① 如何通过后端(Java)实现微信三方登录
实现微信三方登录,需先在微信开放平台获取APPID、SECRET及回调域三个关键信息。建议公司申请并提供给开发者直接使用。
用户在网站上点击带有APPID和回调域的a标签链接进行微信登录。登录后,系统将显示二维码,扫码并同意授权后,链接至回调地址,并返回授权码。这一步骤后,系统可以获取到授权码。
利用HttpClient工具发送第二个请求,通过授权码换取访问令牌access_token。需预先准备HttpClient工具和相应处理包。
后端接收并解析访问令牌,使用HttpClient调用微信接口获取令牌access_token与openid,即微信用户标识。通过fastjson库对返回的json数据进行处理。
获取到openid后,即可判断用户是否已绑定微信。如果已绑定,用户可实现免密登录;未绑定,则需通过第三方请求获取用户详细信息,完成数据库中的微信用户绑定。
针对未绑定或首次绑定的用户,可采用三种策略解决:使用随机密码和手机号作为用户名,初次只能微信登录,不便于用户体验(非最佳选择);初次微信登录时要求输入密码,之后使用微信登录直接通过,账号登录需手机号密码复合验证;初次绑定使用手机验证码完成,通过手机号绑定,下次登录可实现免密登录,并提供随机密码以供下次修改账号密码使用。