微信授权遇到点问题,能帮忙看看嘛?

2017-02-10 09:42:42 +08:00
 xiaomajia008
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect


我用的 vue 来管理路由。

现在遇到的问题是 授权 url redirect_uri 我填写的地址 带了 # 号, 导致不能授权,有遇到过这样问题的嘛?
8721 次点击
所在节点    程序员
26 条回复
jarlyyn
2017-02-10 15:17:33 +08:00
@qiayue

对啊,这就是我的意思啊。

微信授权应该是服务接口,而不是跳转页面啊。

按他们的说法,做一个 wx/authorize ,改跳转到哪个 Webapp 呢?还是每个 webapp 写一个接口?
klgd
2017-02-10 15:20:17 +08:00
我觉得微信授权好像没前端( h5 )什么事啊,开始跳转到微信页面,用户授权,在跳转回来,通过 code+appid+secret 获取 access_token,再获取用户信息,这应该由服务端处理(不可能说把 secret 暴漏给前端吧)
这整个过程 h5 如果硬要加进来,反而变的复杂了
jarlyyn
2017-02-10 16:07:38 +08:00
@klgd

复杂在哪?

前端要做微信首先必然要做跳转操作。所以把跳转操作全放在前端是最好处理的。

后台就是做两个接口。

一个是 func(session/token,returnurl){
if !Validate(returnurl) return http.403
MakeState(token)
return wx.getAuthUrl()
}

一个是 func(prarams){
if wx.validate(prarams) token=prarams.token
openid=wx. getUserinfo(token).openid
return User(openid).id
}
klgd
2017-02-10 17:22:20 +08:00
@jarlyyn 是事情变的复杂了,不是代码变的复杂了
本来没前端的事呢 现在你前端要写代码,要去跟后端交互了
本来后端一个 controller 就可以解决了 现在要拆成 2 个接口了
不是说前端不可以这样做,只是觉得没必要这样做
jarlyyn
2017-02-10 17:31:00 +08:00
@klgd

首先,后端本来也需要两个 action 。只不过这个 action 是否负责渲染 html 的问题。

其次,本来也有前端的事情,只不过前端是写模板文件还是写 html+hs 的问题。
mrzhanyouwei
2017-03-30 21:15:20 +08:00
请问楼主最后怎么解决的呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/339467

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX