Java版本微信授权登录(概览版)

写在前面,这里的微信授权登录,要求:在微信授权后登录之前必须补充手机号码,即绑定手机号码,这与平常的微信授权登录成功以后再到设置中进行手机号码绑定有一些差别。

同时,这里还区别了APP端和PC端的处理,APP端和PC端的处理区别在于从微信获取授权的方式不同而已。

微信官方文档地址:微信官方文档 | 微信开放文档

这里选择开放平台这里我们关注【移动应用】和【网站应用 】,分别对应这移动端和PC网站。

这里拿PC网站举例:

整体的思路就是:

1,向微信申请授权获取code

2,使用code去获取access_token

3,刷新access_token,如果有必要

4,获取用户信息

5,检查access_token是否有效

获取access_token时序图:

 

首先需要登录微信开放平台:微信开放平台

 需要在这里创建移动应该和网站应用,因为要在这里获取到关键的微信授权配置信息appID和appsecret。

第一步:请求CODE

第三方使用网站应用授权登录前请注意已获取相应网页授权作用域(scope=snsapi_login),则可以通过在PC端打开以下链接: https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login。

返回说明

用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数

redirect_uri?code=CODE&state=STATE

若用户禁止授权,则不会发生重定向。

第二步:通过code获取access_token

通过code获取access_token

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

返回说明

正确的返回:

{ 
"access_token":"ACCESS_TOKEN", 
"expires_in":7200, 
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID", 
"scope":"SCOPE",
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值