微信授权参数丢失问题

本文详细介绍了微信授权的过程,包括如何构造授权地址引导用户同意授权,以及如何使用授权code换取网页授权的access_token和openid。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、构造授权地址,用户同意授权,获取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()进行解码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值