官方流程
网页授权流程分为四步:
1、引导用户进入授权页面同意授权,获取code 2、通过code换取网页授权access_token(与基础支持中的access_token不同) 3、如果需要,开发者可以刷新网页授权access_token,避免过期 4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)
https://mp.weixin.qq.com/wiki?action=doc&id=mp1421140842&t=0.011103293173529538#3
我的过程
1、首先是要在公众号后台进行配置,设置回调路径,具体要求参照官方文档。
要将这里的txt文件放在项目根路径下,否则上面的回调域名是无法保存的。
2、用户访问第三方页面时,先去请求一个api,获取code和state
code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。 请求API参数拼接 https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxXXXXXXXXXXXXXXXXXXXXXX&redirect_uri=http://XXXXXXXXXXX/ydx-business/payWeiXin/getOpenId&response_type=code&scope=snsapi_userinfo&state=1&connect_redirect=1#wechat_redirect 这里的scope分为两种:一种是静默方式(snsapi_base);一种是非静默方式(snsapi_userinfo),需要用户去手动点击同意才能获取用户的信息。
3、在1中配置的回调方法中根据获取到的code和state再去请求如下接口,获取access_token 和openid。
获取code后,请求以下链接获取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code