微信如何配置授权回调域名

介绍:如果想通过微信网页开发获取到微信用户的基本信息,就需要在微信公众号设置“授权回调域名”,设置了该域名后,即可在利用微信公众号接口在该域名的网页中获取到微信用户的基本信息。在微信公众号开发文档中,写明了“授权回调域名”的设置路径,但是貌似这个开发文档没有即时更新,根据文档中的路径根本找不到“授权回调域名”的设置页面。在百度中也查找了几个方法,虽然比文档中的版本好像新一点,但是仍然找不到设置页面,以下是最新版实测“授权回调域名”的设置页面和设置方法。


微信公众平台的公众号设置——功能设置——网页授权域名 可以设置

如下


### 如何获取微信OAuth2授权回调URI 在微信OAuth2授权过程中,回调URI是一个非常重要的组成部分。它用于指定用户完成授权后被重定向到的目标地址。以下是关于如何构建和配置回调URI的具体方法。 #### 构建回调URI的关键要素 回调URI由多个参数组成,这些参数共同定义了授权请求的行为以及后续的操作逻辑。具体来说: - **`appid`**: 这是第三方应用的唯一标识符(即SuiteID),通常以`ww`或`wx`开头[^3]。 - **`redirect_uri`**: 用户授权完成后跳转至的应用服务器地址。此地址需要经过URL编码处理,并且必须属于已设置的企业可信域名列表之一。 - **`response_type`**: 返回类型,在OAuth2协议中固定为`code`。 - **`scope`**: 应用授权的作用范围。可以选择`snsapi_base`(静默授权) 或 `snsapi_privateinfo`(手动授权)。 - **`state`**(可选): 用来保持请求与回调状态的一串字符,可以防止CSRF攻击并帮助验证请求的真实性。 完整的回调URI模板如下所示: ```plaintext https://open.weixin.qq.com/connect/oauth2/authorize? appid=<APP_ID>& redirect_uri=<REDIRECT_URI_ENCODED>& response_type=code& scope=<SCOPE>& state=<STATE>#wechat_redirect ``` 其中 `<REDIRECT_URI_ENCODED>` 是指对原始 URI 使用 URL 编码后的字符串形式[^2]。 #### 配置企业可信域名 为了安全起见,企业微信要求所有的回调URIs都应部署在其预设的信任域名单之内。管理员可以通过管理后台进入【我的企业】-> 【权限管理】 -> 【可信IP白名单 / 可信域名设置】来添加相应的主机名作为合法目标位置。 另外值得注意的是,当遇到诸如“invalid redirect uri”的错误提示时,可能是因为当前提交给 API 的 Redirect Uri 并未被列入允许访问的服务端点之中。因此确认该字段完全匹配预先注册过的条目至关重要[^4]。 #### 实现代码片段 下面提供了一段基于Node.js环境下的简单实现例子,展示如何动态生成包含必要参数在内的完整授权链接: ```javascript async function generateAuthUrl() { const suiteId = 'your_suite_id'; // 替换为您实际使用的 Suite ID const jumpUrl = encodeURIComponent('https://example.com/callback'); // 将您的真实回调路径替换此处 const scopes = ['snsapi_base', 'snsapi_privateinfo']; // 根据需求选择合适的 Scope let authUrlTemplate = `https://open.weixin.qq.com/connect/oauth2/authorize?`; for (let i = 0; i < scopes.length; ++i){ let currentScope = scopes[i]; let constructedUrl = `${authUrlTemplate} appid=${suiteId}& redirect_uri=${jumpUrl}& response_type=code& scope=${currentScope}& state=STATE#wechat_redirect`; console.log(`Generated Auth Url with ${currentScope}:`, constructedUrl); } } generateAuthUrl(); ``` 以上脚本会打印两个版本的不同授权网址分别对应基础信息读取(snsapi_base) 和私密资料获取(snsapi_privateinfo).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值