微信授权登录开发流程

微信授权登录开发流程

微信公众平台测试账号

免费账号地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

image.png


登录后我们可以看到 appId 和 appsecret

手机扫描测试号二维码,可以在右侧用户列表中看到已经关注的用户。

image.png


file


在下面的 体验接口权限表 中我们可以找到 网页授权获取用户基本信息,点击最后的修改按钮

image.png


填入 地址,这个是 OAuth 流程中需要提前配置好的回调域名,回调地址必须在这个域名下。注意域名不要带 http://

测试 OAuth 流程

下载微信开发者工具:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140



打开开发者工具,扫码登录,选择公众号项目



接下来,我们尝试一下 微信网页授权 的流程。下面这个链接为微信发起 OAuth 的跳转地址。

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

注意链接中有几个变量需要替换

  • APPID 测试账号中的 appID,填写自己账号的 appID

  • REDIRECT_URI 用户同意授权后的回调地址,填写 http://larabbs.test

  • SCOPE 应用授权作用域,填写 snsapi_userinfo

  • STATE 随机参数,可以不填,我们保持 STATE 即可。

替换后我们得到的链接类似

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxe0ba316xxxxxxx&redirect_uri=http://l03.test&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

在开发者工具中,访问该链接,可以看到微信授权页面

image.png点击同意

image.png我们成功的跳转回了 REDIRECT_URI,注意 url 中可以看到 code 参数。好了我们已经完成了 OAuth 流程中获取授权码的步骤。


请求以下链接获取 access_token:

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

需要替换的变量

  • APPID 测试账号中的 appID,填写自己账号的 appID

  • SECRET 测试账号中的 secret,填写自己账号的 secret

  • code 上一步获取的 code

替换后的链接如下

https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx353901f6xxxxx&secret=d4624c36b6795d1d99dxxxxxxxx&code=0813AoG21n9C2O1yfxH21t4nG213AoGH&grant_type=authorization_code

使用 PostMan 访问该链接,获取到了 access_token,注意微信同时返回了 open_id,微信 access_token 和 open_id 一起请求用户信息。

image.png


通过 access_token 获取个人信息

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

替换链接中的 ACCESS_TOKEN 和 OPENID,使用 PostMan 访问

image.png


通过上面的测试流程,尝试将微信登录带入整个流程,相信大家对于 OAuth 流程有了更加深入的认识。

之后你可以把这些信息写入数据库进行业务处理逻辑了



回复列表


回复操作