公众号h5授权链接显示redirect_uri域名与后台配置不一致

原因: 公众号配置的回调域名与请求的域名不一致


根据微信公众号配置修改: 登录微信公众号一设置与开发一公众号设置一功能设置一网页授权域名
目前的情况是:


网页授权域名个格式: www.aaa.com,但是实际项目地址是域名+端口:  www.aaa.com:81


公众号里面的网页授权域名填写格式 只能是域名格式,用另一种解释的是网页授权域名只能是80或者443端口,不能是其他端口,这是官方规定的


还有网页授权域名可以写2个


所以实际项目的请求址是www.aaa.com:81,但是公众号号的授权域名是www.aaa.com:80瑞口是可以不写,所以出现rediredt u城名与后台配置不-致情况


解决的办法: 只能把实际网站项目地址改为80端口或者https443,要不然没办法用

### H5 页面通过微信后端进行授权登录的方法 #### 准备工作 为了使H5页面能够顺利地通过微信后端进行授权登录,开发者需先注册微信公众账号,并获得相应的AppID和AppSecret。这些信息对于后续的开发至关重要。 #### 获取Code值 当用户访问带有特定URL Scheme的网页时,该网址应指向微信OAuth2.0认证服务器。此过程会引导用户同意授权给第三方应用使用其个人信息。一旦用户确认,则会被重定向回指定回调页面的同时附带`code`参数作为临时票据[^1]。 ```html <a href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=YOUR_APP_ID&redirect_uri=http%3A%2F%2Fyourdomain.com%2Fcallback&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect">点击授权</a> ``` 上述链接中的各个字段含义如下: - `appid`: 开发者拥有的公众号唯一标识符; - `redirect_uri`: 用户授权完成后将要跳转的目标网站地址,需要注意的是这个地址需要提前加入到微信后台的安全域名列表里; - `response_type`: 返回类型固定为`code`; - `scope`: 请求用户的接口权限范围,在这里设置为`snsapi_userinfo`表示获取用户基本信息; - `state`: 可选参数,用于保持请求和回调的状态一致性,防止CSRF攻击。 #### 使用Code换取Access Token 接收到前端传来的`code`之后,服务端可以利用它来交换长期有效的`access_token`以及刷新令牌(refresh token),从而进一步获取关于已授权用户的更多信息。具体来说就是向微信API发起POST请求: ```http POST https://api.weixin.qq.com/sns/oauth2/access_token?appid=YOUR_APP_ID&secret=YOUR_APP_SECRET&code=THE_CODE_RECEIVED_FROM_FRONTEND&grant_type=authorization_code HTTP/1.1 Host: api.weixin.qq.com Content-Type: application/json;charset=UTF-8 ``` 成功响应将会返回JSON对象,其中包含了所需的凭证数据[^2]: ```json { "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN", "openid":"OPENID", "scope":"SCOPE" } ``` #### 拉取用户资料 最后一步是从微信服务器拉取已经过验证的身份持有者的公开档案详情。这可以通过再次调用微信开放平台提供的相应RESTful API完成: ```http GET https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN HTTP/1.1 Host: api.weixin.qq.com Accept: */* ``` 如果一切正常的话,最终能拿到包含头像、昵称等在内的用户个人资料,进而实现自动化的社交账户绑定或是个性化展示等功能需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值