普歌-云言团队-微信扫码登录(扫描后获取扫描人信息)

本文详细介绍了微信扫码登录的四个步骤:从获取code到回调方法,通过code换取access_token和openid,再获取用户信息,最后在数据库中进行用户判断与处理。主要技术涉及OAuth2、httpclient和gson。并提供了相关代码示例。
摘要由CSDN通过智能技术生成

一.步骤分析

第一步:扫描之后,执行本地的callback方法,在callback获取到state(原样传递)值和code(类似于手机验证码,随机生成且唯一的)值,在跳转时传递过来

#第二步:拿着第一步获取到的code值,请求微信提供固定的地址,获取到access_token(访问凭证)和openid(每个微信的唯一标识)

第三步:那这第二部获取到的两个值access_tokenopenid,再去请求一个微信提供的固定地址,最终可以获取到扫描人的信息,如:昵称,头像等
第四步:判断数据库中是否有扫描人的信息,有:返回首页面;无:添加到数据库中

二.用到的技术点

(1)httpclient:不需要浏览器也可以发送请求,得到结果
(2)json转换工具:在这里用到的是gson
(3)OAuth2解决方案:令牌机制,按照一定规则生成字符串,字符串包含用户信息

三.步骤图

请求步骤图
取到的一些相关数据
获取access_token值和openid值
获取值
获取用户信息
获取用户信息

四.具体代码如下

 public String callback(String code,String state){
   
        try{
   
            //1.获取code值,临时票据,(随机且唯一生成的,类似于验证码)
            //2.拿着code请求微信固定地址,得到两个值 accsess_token 和 openid
                    String baseAccessTokenUrl = "https://api.weixin.qq.com/sns/oauth2/access_token" +
                            "?appid=%s" +
                            "&secret=%s" +
                            "&code=%s" +
                            "&grant_type=authorization_code";

                    //拼接三个参数 id 密钥 code值
                    String accessTokenUrl = String.format(
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

优雅猿人Sansan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值