本篇文章为你整理了网页授权(网页授权怎么取消)的详细内容,包含有微信网页授权 网页授权怎么取消 网页授权微信登录 网页授权域名 网页授权,希望能帮助你了解 网页授权。
公众号 小程序 小游戏 小商店 公众号 智能对话 开放平台 企业微信 微信支付 视频号 腾讯小微 中文 EN 取消 查看更多 在公众号下暂无结果,查看其它业务相关内容 中文 中文 EN 中文EN 取消 公众号开发指南 开发前必读 首页 更新日志 开发者规范 接口权限说明 全局返回码说明 入门指引 开始开发 接入指南 接口域名说明 获取 Access token 获取 Stable Access token 接口测试号申请 报警排查指引 接口在线调试 获取微信服务器IP地址 网络检测 常见问题 openApi管理 清空api的调用quota 查询openAPI调用quota 查询rid信息 使用 AppSecret 重置 API 调用次数 自定义菜单 创建接口 查询接口 删除接口 事件推送 个性化菜单接口 获取自定义菜单配置 基础消息能力 接收普通消息 接收事件推送 被动回复用户消息 模板消息接口 公众号一次性订阅消息 模板消息运营规范 消息加解密说明 群发接口和原创校验 接口调用频次限制说明 获取公众号的自动回复规则 订阅通知 订阅通知介绍 订阅通知接口 服务类目 客服消息 客服消息 PC 客服能力 将消息转发到客服 客服管理 会话控制 获取聊天记录 微信网页开发 iOS WKWebview网页开发适配指南 网页授权 网页开发样式库 JS-SDK说明文档 开放标签说明文档 web开发者工具 DarkMode 适配指南 云开发 用户授权信息变更事件推送 素材管理 新增临时素材 获取临时素材 新增永久素材 获取永久素材 删除永久素材 获取素材总数 获取素材列表 草稿箱 新建草稿 获取草稿 删除草稿 修改草稿 获取草稿总数 获取草稿列表 MP端开关(仅内测期间使用) 发布能力 发布接口 发布状态轮询接口 事件推送发布结果 删除发布 通过 article_id 获取已发布文章 获取成功发布列表 图文消息留言管理 用户管理 用户标签管理 设置用户备注名 获取用户基本信息(UnionID机制) 获取用户列表 获取用户地理位置 黑名单管理 帐号管理 生成带参数的二维码 长链接转短链接接口 短key托管 微信认证事件推送 数据统计 用户分析 图文分析 消息分析 广告分析 分广告位数据 返佣商品数据 结算收入数据 接口分析 微信卡券 微信卡券接口 更新日志 创建卡券 投放卡券 核销卡券 管理卡券 卡券事件推送 卡券-小程序打通 微信礼品卡 会员卡专区 玩法介绍 创建会员卡 管理会员卡 特殊票券 卡券错误码 第三方开发者模式 微信门店 微信门店接口 微信门店小程序接口 微信小店 智能接口 语义理解 AI开放接口 OCR识别 图像处理 微信设备功能 设备功能介绍 如何新增产品型号 微信“一物一码” 微信“一物一码”操作指引 一物一码接口文档 一物一码常见问题 微信发票 微信电子发票 业务介绍 选择接入模式 “商户+开票平台”模式说明 “自建平台”模式说明 报销场景说明 商户接口列表 开票平台接口列表 报销方接口列表 极速开发票 方案介绍 接入申请 角色及流程图 接口说明 二维码立牌设计 电子发票自助打印 业务介绍 接口文档 设计素材 非税票据 业务介绍 接入财政电子票据 接口列表 微信非税缴费 接入指引 接口文档 微信非税车主平台接入文档 扫服务号二维码打开小程序 增加或修改规则 删除已设置的规则 获取已设置的规则 发布已设置的规则 # 网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
# 开发前必读 # 微信网页授权能力调整公告 为进一步规范能力使用,保障用户合法权益,平台将对微信网页授权能力进行调整。
当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。
能力调整将于 2022 年 7 月 12 日 24 时生效。详情点击查看原公告《微信网页授权能力调整公告》。
# 关于网页授权回调域名的说明 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头; 授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com 无法进行OAuth2.0鉴权 如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可 # 关于网页授权的两种scope的区别说明 以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面) 以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。 用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。 # 关于网页授权access_token和普通access_token的区别 微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息; 其他微信接口,需要通过基础支持中的“获取access_token”接口来获取到的普通access_token调用。 # 关于UnionID机制 请注意,网页授权获取用户基本信息也遵循UnionID机制。即如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。 UnionID机制的作用说明:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。 # 关于特殊场景下的静默授权 上面已经提到,对于以snsapi_base为scope的网页授权,就静默授权的,用户无感知; 对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。 # 开发指南 网页授权流程分为四步:
引导用户进入授权页面同意授权,获取code 通过code换取网页授权access_token(与基础支持中的access_token不同) 如果需要,开发者可以刷新网页授权access_token,避免过期 通过网页授权access_token和openid获取用户基本信息(支持UnionID机制) # 目录 1 第一步:用户同意授权,获取code
2 第二步:通过code换取网页授权access_token
3 第三步:刷新access_token(如果需要)
4 第四步:拉取用户信息(需scope为 snsapi_userinfo)
5 附:检验授权凭证(access_token)是否有效
6 调用频率限制
# 第一步:用户同意授权,获取code 在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(已认证服务号,默认拥有scope参数中的snsapi_base和snsapi_userinfo 权限),引导关注者打开如下页面:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID redirect_uri=REDIRECT_URI response_type=code scope=SCOPE state=STATE#wechat_redirect
若提示“该链接无法访问”,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。
尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问
参考链接(请在微信客户端中打开此链接体验):
scope为snsapi_base:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387 redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60 response_type=code scope=snsapi_base state=123#wechat_redirect
scope为snsapi_userinfo:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx807d86fb6b3d4fd2 redirect_uri=http%3A%2F%2Fdevelopers.weixin.qq.com response_type=code scope=snsapi_userinfo state=STATE#wechat_redirect
尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。
参数说明
参数 是否必须 说明 appid 是 公众号的唯一标识 redirect_uri 是 授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理 response_type 是 返回类型,请填写code scope 是 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 ) state 否 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节 #wechat_redirect 是 无论直接打开还是做页面302重定向时候,必须带此参数 forcePopup 否 强制此次授权需要用户弹窗确认;默认为false;需要注意的是,若用户命中了特殊场景下的静默授权逻辑,则此参数不生效下图为scope等于snsapi_userinfo时的授权页面:
用户同意授权后
如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE state=STATE。
code说明:
code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
错误返回码说明
返回码 说明 10003 redirect_uri域名与后台配置不一致 10004 此公众号被封禁 10005 此公众号并没有这些scope的权限 10006 必须关注此测试号 10009 操作太频繁了,请稍后重试 10010 scope不能为空 10011 redirect_uri不能为空 10012 appid不能为空 10013 state不能为空 10015 公众号未授权第三方平台,请检查授权状态 10016 不支持微信开放平台的Appid,请使用公众号Appid
# 第二步:通过code换取网页授权access_token 首先请注意,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
请求方法
获取code后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID secret=SECRET code=CODE grant_type=authorization_code
参数 是否必须 说明 appid 是 公众号的唯一标识 secret 是 公众号的appsecret code 是 填写第一步获取的code参数 grant_type 是 填写为authorization_code返回说明
正确时返回的JSON数据包如下:
{
access_token : ACCESS_TOKEN ,
expires_in :7200,
refresh_token : REFRESH_TOKEN ,
openid : OPENID ,
scope : SCOPE ,
is_snapshotuser : 1,
unionid : UNIONID
参数 描述 access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同 expires_in access_token接口调用凭证超时时间,单位(秒) refresh_token 用户刷新access_token openid 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID scope 用户授权的作用域,使用逗号(,)分隔 is_snapshotuser 是否为快照页模式虚拟账号,只有当用户是快照页模式虚拟账号时返回,值为1 unionid 用户统一标识(针对一个微信开放平台帐号下的应用,同一用户的 unionid 是唯一的),只有当scope为 snsapi_userinfo 时返回错误时微信会返回JSON数据包如下(示例为Code无效错误):
{ errcode :40029, errmsg : invalid code }
# 第三步:刷新access_token(如果需要) 由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。
请求方法
获取第二步的refresh_token后,请求以下链接获取access_token:
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID grant_type=refresh_token refresh_token=REFRESH_TOKEN
参数 是否必须 说明 appid 是 公众号的唯一标识 grant_type 是 填写为refresh_token refresh_token 是 填写通过access_token获取到的refresh_token参数返回说明
正确时返回的JSON数据包如下:
{
access_token : ACCESS_TOKEN ,
expires_in :7200,
refresh_token : REFRESH_TOKEN ,
openid : OPENID ,
scope : SCOPE
参数 描述 access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同 expires_in access_token接口调用凭证超时时间,单位(秒) refresh_token 用户刷新access_token openid 用户唯一标识 scope 用户授权的作用域,使用逗号(,)分隔错误时微信会返回JSON数据包如下(示例为code无效错误):
{ errcode :40029, errmsg : invalid code }
# 第四步:拉取用户信息(需scope为 snsapi_userinfo) 如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
请求方法
http:GET(请使用https协议):
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN openid=OPENID lang=zh_CN
参数 描述 access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同 openid 用户的唯一标识 lang 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语返回说明
正确时返回的JSON数据包如下:
{
openid : OPENID ,
nickname : NICKNAME,
sex : 1,
province : PROVINCE ,
city : CITY ,
country : COUNTRY ,
headimgurl : https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46 ,
privilege :[ PRIVILEGE1 PRIVILEGE2 ],
unionid : o6_bmasdasdsad6_2sgVt7hMZOPfL
参数 描述 openid 用户的唯一标识 nickname 用户昵称 sex 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 province 用户个人资料填写的省份 city 普通用户个人资料填写的城市 country 国家,如中国为CN headimgurl 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。 privilege 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom) unionid 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。错误时微信会返回JSON数据包如下(示例为openid无效):
{ errcode :40003, errmsg : invalid openid }
# 附:检验授权凭证(access_token)是否有效 请求方法
http:GET(请使用https协议):
https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN openid=OPENID
参数 描述 access_token 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同 openid 用户的唯一标识返回说明
正确的JSON返回结果:
{ errcode :0, errmsg : ok }
错误时的JSON返回示例:
{ errcode :40003, errmsg : invalid openid }
# 调用频率限制 接口名 频率限制 通过 code 换取 access_token 5 万/分钟 获取用户基本信息 5 万/分钟 刷新 access_token 10 万/分钟 The translations are provided by WeChat Translation and are for reference only. In case of any inconsistency and discrepancy between the Chinese version and the English version, the Chinese version shall prevail.Incorrect translation. Tap to report. 关于腾讯 文档中心 辟谣中心 客服中心 联系邮箱 Copyright © 2012-2023 Tencent. All Rights Reserved.
复制 问题反馈 在线咨询 反馈
以上就是网页授权(网页授权怎么取消)的详细内容,想要了解更多 网页授权的内容,请持续关注盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。