微信授权参数丢失问题

一、构造授权地址,用户同意授权,获取code

https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state={3}#wechat_redirect
注:
	appid为申请公众号给予的公众号id
	redirect_uri为用户同意授权后的回调地址,该地址需要用URLEncoder.encode()进行编码
	scope为snsapi_userinfo,表示要获取用户信息
	state为回调时传递参数,该值有长度限制,如果使用该字段进行传递访问地址,也需要用URLEncoder.encode()进行编码

二、通过code换取网页授权access_token、openid

在上一步中,用户同意授权,则调用上一步中redirect_uri的接口,并将code与state传递回来,通过code获取access_token
https://api.weixin.qq.com/sns/oauth2/access_token?appid={0}&secret={1}&code={2}&grant_type=authorization_code
注:
	appid为申请公众号给予的公众号id
	secret为申请公众号给予的公众号密码
	code为上一步请求微信服务给予的code
	如果第一步中scope为snsapi_userinfo,这返回结果中包含用户信息;为snsapi_base则获取用户openid不能够获取到用户信息。用户信息(昵称、头像、国、省、城市、性别、权限)
	处理用户授权信息,然后跳转页面,如果跳转地址为state传递的并且用URLEncode.encode()编码过,则需要用URLDecode.decode()进行解码。
发布了8 篇原创文章 · 获赞 0 · 访问量 170

猜你喜欢

转载自blog.csdn.net/u012164021/article/details/103983068