最近在学习微信授权,故记之,来增加记忆和理解
微信公众号测试号申请
https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
在微信开发文档有介绍操作流程
1、引导用户进入授权页面同意授权,获取code
2、通过code换取网页授权access_token(与基础支持中的access_token不同)
3、如果需要,开发者可以刷新网页授权access_token,避免过期
4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
1.即用户登录时,让用户扫描二维码,或者其他方式,引导用户访问微信提交的的接口。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
这里值的注意的是:
redirect_uri:用户请求微信后,微信服务器端会向这个地址发送请求,会带上请求参数用户的code
scope:授权范围,snsapi_base只能获取用户的open_id,不用用户点击同意,snsapi_userinfo获取用户基信息。包括opend_id,
头像,名称,所在位置等 。
2.通过微信的回调地址,通过用户的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
3.如果需要才使用
4.就是再次调用微信,拉取用户的信息即可
http:GET(请使用https协议) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN