微信公众账号提供用户请求授权页面URL将向服务器发起请求

2023-12-10
来源:网络整理

2、微信公众号提供用户请求授权页面URL。

3.当用户点击授权页面URL时,会向服务器发出请求。

4. 服务器询问用户是否同意授权微信公众号(目前暂无此步骤)

5.用户同意(目前还没有这一步)

6、服务器通过回调将CODE传给微信公众号

7.微信公众号获取CODE

8.微信公众号通过CODE请求服务器

9.服务器返回并给出微信公众号

10、微信公众号向服务器请求用户信息(此时没有这一步)

11. 服务器将用户信息发送回微信公众号(目前暂无此步骤)

1)。 用户授权并获取code

在域名(前面配置的回调域名)的根目录下,新建一个文件,命名为.php(你可以选择自己喜欢的名字,修改即可)。 这个php实现的功能也很简单。 它只是更改了 url 上的代码。 只需将参数取出来打印出来,方便我们后续的操作。

.php中的内容如下:

](:无效(0)

](:无效(0)

这段php的主要作用是,用户确认授权登录后,会转入这个地址,并带上code参数(微信生成)。 为了方便起见,我们也可以在这里留一个空白页。 还有其他方法可以获取下面的 url。 上面的代码参数。

请求授权页面如何构建:

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

参数说明

必须指定参数

是的

公众号的唯一标识符(这是我们之前申请的)

是的

授权后重定向的回调链接地址(我们之前申请过)

是的

返回类型,请填写code

是的

应用授权范围,(授权页面不弹出,直接跳转,只能获取用户),(弹出授权页面,可以获取昵称,性别,所在地。而且,即使不付费注意,只要用户授权,也可以获取信息)

三方公众微信开发号怎么开通_第三方微信公众号开发_公众号第三方开发平台

重定向后会带参数。 开发者可以填写a-zA-Z0-9的参数值,最多128字节。 微信会原样返回该值。 我们可以对比一下,防止别人攻击。

#

如果直接在微信上打开链接,则不需要填写该参数。在做页面302重定向时,必须包含该参数

应用授权范围:由于只能获取,意义不大,所以我们使用它。

回调地址:填写刚刚上传的.php文件的地址。

参数:任意数字,此处填写123

特别说明:由于授权操作的安全级别较高,在发起授权请求时,微信会定期对授权链接进行强匹配检查。 如果链接参数顺序错误,将无法正常访问授权页面。

构造请求url如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4a22b50d7e897f97&redirect_uri=http%3a%2f%2fad.seewo.com%2foauth.php&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect

这个需要发送到微信,可以使用微信浏览器打开。

点击上面的链接,点击确认登录,跳转到刚刚配置的回调页面,获取微信返回的code参数,进行后续操作。

授权页面如下:

授权后跳转的页面(我们前面配置的):

如果我们还没有打印出php中的代码,这时候我们可以使用右上角按钮中的复制链接来获取链接,如下:

http://ad.seewo.com/oauth2.php?code=0217a07e9c194dbf539c45c266b2dcfZ&state=123

代码说明:

code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

1)、使用code进行兑换

换取Web授权页面的结构:

参数说明

需要指定参数吗?

是的

公众号唯一标识

是的

官方账号

代码

是的

填写第一步获取到的代码参数

第三方微信公众号开发_公众号第三方开发平台_三方公众微信开发号怎么开通

是的

填写为

code:此处填写上一步得到的值。

构建的url如下,在网页中打开链接即可:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx41cb8dbd827a16e9&secret=d4624c36b6795d1d99dcf0547af5443d&code=00137323023ab55775be09d6d8e75ffA&grant_type=authorization_code

只需在微信客户端点击获取代码的链接即可。 获取和用户信息可以直接在网页上打开。

退货说明

正确时返回的JSON数据包如下:

](:无效(0)

{ "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN", "openid":"OPENID", "scope":"SCOPE" }

](:无效(0)

参数说明

网页授权接口调用凭证。 注意:这与基本支持不同。

接口调用凭证超时时间,单位(秒)

用户刷新

用户唯一标识符

用户授权范围,以逗号(,)分隔

当发生错误时,微信会返回如下JSON数据包(示例为无效Code错误):

{"errcode":40029,"errmsg":"invalid code"}

2)通过以下方式获取用户信息

请求方式:

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

参数说明

参数说明

网页授权接口调用凭证。 注意:这与基本支持不同。

用户的唯一标识符

构造 url 如下:

https://api.weixin.qq.com/sns/userinfo?access_token=OezXcEiiBSKSxW0eoylIeABONBTt9gBE6cK3arF_L6aOvwU4ynS5ZxG4r6ZUIJxh7y_ClmPRkYbMeOc_r30LAGB2IEAlCFsQQvfQMJSwHcU6109-6vz603Jho4oZhdns6AOXwoxaWcLujT1RWnC_hQ&openid=oF3PcsnsrMiJzEwalZZbAfWQpxCI

您可以直接在浏览器中执行此操作。

三方公众微信开发号怎么开通_公众号第三方开发平台_第三方微信公众号开发

获取到的json格式数据如下:

](:无效(0)

{ "openid":" OPENID", " nickname": NICKNAME, "sex":"1", "province":"PROVINCE" "city":"CITY", "country":"COUNTRY", "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", "privilege":[ "PRIVILEGE1" "PRIVILEGE2" ], "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" }

](:无效(0)

参数说明

用户的唯一标识符

用户昵称

性别

用户的性别。 当值为1时,为男性,当值为2时,为女性,当值为0时,未知。

用户资料填写的省份

城市

普通用户填写个人数据的城市

国家,比如中国就是CN

用户头像,最后一个值代表方形头像尺寸(有0,46,64,96,132值,0代表640*640方形头像),当用户没有头像时此项为空。 如果用户更改头像,则原始头像 URL 将失效。

用户权限信息,json数组,如微信沃卡用户为()

仅当用户将公众号与微信开放平台账号绑定后,才会出现该字段。 详情参见:获取用户个人信息(机制)

当发生错误时,微信会返回JSON数据包如下(示例无效):

{"errcode":40003,"errmsg":" invalid openid "}

值得注意的地方:

用户管理界面中的“获取用户基本信息接口”只能在用户与公众号交互后或用户关注后推送事件后,根据用户获取用户的基本信息。 这个接口,包括微信的其他接口,都需要用户关注公众号才可以调用成功。

网页授权获取用户基本信息也遵循一定的机制。 也就是说,如果开发者需要在多个公众号之间、或者公众号与移动应用之间统一用户账号,则需要先到微信开放平台()绑定公众号,然后再使用该机制来满足上述需求。

机制作用说明:如果一个开发者拥有多个移动应用、网站应用和公众号,通过获取用户的基本信息就可以区分用户的唯一性,因为同一个用户在同一个微信开放下可以访问不同的应用平台(移动应用、网站应用和公众号)都是一样的。

特别说明:由于公众账号及获取的安全级别非常高,因此只能保存在服务器上,不允许传递给客户端。 后续的刷新、获取用户信息等步骤也必须从服务器发起。

扫描二维码登录微信网页:

d) 关注公众号后才能通话成功。 **

网页授权获取用户基本信息也遵循一定的机制。 也就是说,如果开发者需要在多个公众号之间、或者公众号与移动应用之间统一用户账号,则需要先到微信开放平台()绑定公众号,然后再使用该机制来满足上述需求。

机制作用说明:如果一个开发者拥有多个移动应用、网站应用和公众号,通过获取用户的基本信息就可以区分用户的唯一性,因为同一个用户在同一个微信开放下可以访问不同的应用平台(移动应用、网站应用和公众号)都是一样的。

特别说明:由于公众账号及获取的安全级别非常高,因此只能保存在服务器上,不允许传递给客户端。 后续的刷新、获取用户信息等步骤也必须从服务器发起。

扫描二维码登录微信网页:

微信公众号群消息:

分享