SpringBoot分布式项目中--微信登录模块

通过微信扫描二维码后,通过接口读取扫描人的信息,添加数据

接口中传入的参数有:code   又叫临时票据

1.首先去访问一个微信登录的固定地址,后面添加自己公司申请的微信的appidsecretSpringBoot分布式项目中--微信登录模块

2.第二步采用httpclient的get方式去访问这个微信的固定地址,返回一个字符串token信息。

SpringBoot分布式项目中--微信登录模块

3.第三步把这个字符串对象转换成Map对象,此处转成Map形式是为了后面方便获取对应的值。转换Map的方式是采用Gson将字符串转换成Map形式。这样通过Map格式就能方便获取到access_token openid 两个值

SpringBoot分布式项目中--微信登录模块

4.然后通过openid去数据库中查看是否已经登录过了,通过openid这个条件去判断。

SpringBoot分布式项目中--微信登录模块

5.如果数据中没有数据,就继续访问微信的固定地址,后面要加上前面获取的access_token 和openid

SpringBoot分布式项目中--微信登录模块

6.然后将组合成的字符串地址采用httpclient再次访问这个地址,这样就能得到微信用户的各种信息,其中包括微信用户的头像,名称,等等各种信息,然后再用Gson转换成Map对象,取出对应的属性后,存放到数据库中

SpringBoot分布式项目中--微信登录模块

7.最后一步就是采用Oauth2方案进行授权登录,也就是将用户存放到一个字符串中,作为令牌,生成字符串的方式是采用JWT来生成。然后将这个token字符串放入到地址栏中进行传递。

SpringBoot分布式项目中--微信登录模块