当前位置: 首页 > 知识库问答 >
问题:

javascript - 请问微信公众号的网页授权,回调地址我们应该填前端页面地址还是后端接口地址呢?

陶柏
2023-12-19

微信网页授权地址:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8...

其中redirect_uri这个回调地址参数,应该填写前端页面地址?还是后端接口地址呢?到底2者填写有什么区别?求大神指点下

PS:查阅很多资料,有的是填写前端页面地址,有的建议填写后端接口地址

共有3个答案

虞俊美
2023-12-19

填写发起授权的前端页面地址即可,授权成功后会给这个url加上code跳回来,前端页面再从url上获取code

颜宸
2023-12-19

写到哪里都可以。

1.如果写前端,拿到 code,校验 state,然后调后端接口让后端验证登录逻辑就行,前端根据返回选择跳转到业务页还是继续补充其他信息。

2.如果写后端,那就前端不知道已经回调了,那就前端一直得轮训后端查状态,这就把问题搞复杂了,何必呢。

陶俊晤
2023-12-19

在微信公众号的网页授权中,redirect_uri 这个回调地址参数应该填写后端接口地址。

redirect_uri 参数是用于在授权流程结束后,将授权的结果(包括访问令牌等)重定向回你的应用的页面。由于这个结果是敏感的,所以必须放在后端服务器上处理,而不是直接放在前端页面上。

具体来说,授权流程是这样的:

  1. 用户点击授权按钮,跳转到微信的授权页面。
  2. 用户同意授权后,微信会向 redirect_uri 指定的地址发送一个包含授权结果的请求。
  3. 后端服务器接收到这个请求后,解析出授权结果,然后将其存储在服务器上,或者将其传递给前端页面。

如果将 redirect_uri 填写为前端页面地址,那么授权结果将会直接暴露在前端页面上,这将会带来安全隐患。因此,为了保证安全性,必须将 redirect_uri 填写为后端接口地址。

需要注意的是,redirect_uri 必须是在微信公众平台后台设置的合法域名下的一段路径。同时,不同的应用可能有不同的 redirect_uri,因此在开发过程中,需要确保在不同的应用中使用正确的 redirect_uri

 类似资料:
  • vue3请求时地址栏的地址和请求的地址拼接在一起了怎么解决?

  • 这就是我有点困惑的地方。 我在服务器端拿到的地址,有客户端连接的WiFi网络的公有地址(这是我预期的),还有一些端口号,基于我对NATs的理解,应该和客户端实际使用的端口号不一样,是用来翻译地址的。 但是,如果我在客户端上使用了getsockname()函数,则得到的端口号与服务器给出的端口号相同。

  • 本文向大家介绍如何在网页中嵌入公司地址的地图?相关面试题,主要包含被问及如何在网页中嵌入公司地址的地图?时的应答技巧和注意事项,需要的朋友参考一下 <script src='http://api.map.baidu.com/api?v=2.0&ak=BG9Wtw7egUbIQHPjG9ayOLQO'> </script> <script> (function(){ var map = new BM

  • 在前端访问后端已经上线的地址,如果出现跨域可以用devserve代理解决吗?我认为是可以的,但是在群里跟别人讨论都说是后端配置的,我的理解是在开发阶段可以使用代理,然后项目上线后,一个后端服务可以对应多个前端项目,如果部署在一起的话就不会存在跨域问题,如果不在一起,再去后端配置白名单这样,但是群里的人说直接让后端配置跨域,我认为如果后端配置之后那前端的代理不就没有意义了吗?

  • 7. 回调地址管理 用于管理回调的地址,在该页面可设置相关信息:

  • 配置Apache监听指定的地址和端口。 概述 相关模块 相关指令 core mpm_common <VirtualHost> Listen Apache启动时,会绑定本机上的地址和端口,然后等待请求的进入。默认情况下,它会监听本机的所有地址。但是,当需要监听特定的地址或端口或地址与端口的组合,或者需要对不同的IP地址、主机名、端口作出不同的响应(如使用虚拟主机)时,就必须明确指定。 Listen指