微信网页授权地址:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8...
其中redirect_uri这个回调地址参数,应该填写前端页面地址?还是后端接口地址呢?到底2者填写有什么区别?求大神指点下
PS:查阅很多资料,有的是填写前端页面地址,有的建议填写后端接口地址
微信网页授权地址:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8...
其中redirect_uri这个回调地址参数,应该填写前端页面地址?还是后端接口地址呢?到底2者填写有什么区别?求大神指点下
PS:查阅很多资料,有的是填写前端页面地址,有的建议填写后端接口地址
在微信公众号的网页授权中,redirect_uri
这个回调地址参数应该填写后端接口地址。
redirect_uri
参数是用于在授权流程结束后,将授权的结果(包括访问令牌等)重定向回你的应用的页面。由于这个结果是敏感的,所以必须放在后端服务器上处理,而不是直接放在前端页面上。
具体来说,授权流程是这样的:
redirect_uri
指定的地址发送一个包含授权结果的请求。如果将 redirect_uri
填写为前端页面地址,那么授权结果将会直接暴露在前端页面上,这将会带来安全隐患。因此,为了保证安全性,必须将 redirect_uri
填写为后端接口地址。
需要注意的是,redirect_uri
必须是在微信公众平台后台设置的合法域名下的一段路径。同时,不同的应用可能有不同的 redirect_uri
,因此在开发过程中,需要确保在不同的应用中使用正确的 redirect_uri
。
6 回答5.4k 阅读✓ 已解决
9 回答9.6k 阅读
5 回答3.8k 阅读✓ 已解决
3 回答10.6k 阅读✓ 已解决
4 回答8.1k 阅读✓ 已解决
7 回答10.2k 阅读
4 回答7.5k 阅读
写到哪里都可以。
1.如果写前端,拿到 code,校验 state,然后调后端接口让后端验证登录逻辑就行,前端根据返回选择跳转到业务页还是继续补充其他信息。
2.如果写后端,那就前端不知道已经回调了,那就前端一直得轮训后端查状态,这就把问题搞复杂了,何必呢。