1
chineselittleboy 2016-06-21 19:28:41 +08:00 via Android
用户信息文档里有接口 配置信息什么鬼
|
2
momou 2016-06-21 20:02:35 +08:00
后台获取后传给前端,微信授权后有一个跳转地址,你在这个页面获取就可以了
|
3
XianZaiZhuCe 2016-06-21 20:04:47 +08:00 via iPhone
微信文档写的很清楚哦
|
4
cloverstd 2016-06-21 21:14:00 +08:00 2
如果你是 SPA ,并且 index.html 给后端托管的话,由后端进行微信微信的 OAuth 认证,然后生成 token 写入 index.html 里,然后 JavaScript 再通过 token 获取用户信息
如果你的 index.html 没有后端托管,那么每个 API 请求,都由后端来判断是否 OAuth 认证的,可以依赖于 session ( cookie ),这样最简单,然后前后端定好规则,比如后端返回 code 为 2 时表示要微信认证,并且 data 里包含认证的 URL (也可以直接是微信 OAuth 的地址),然后回调到后端某个地址(设好 cookie ),再 redirect 到 index.html 这个地址上来 |
5
wakiki 2016-06-21 21:56:53 +08:00 via Android
做过 qq ,微博,微信的授权登录, modal 里嵌 iframe 看起来挺 nice 的,登录完后端的管理页面给前端页面跨站 postMessage, 就微信事多把父窗口也要跳转
|
6
ayaseangle 2016-06-22 01:10:58 +08:00
感觉可以使用 jssdk 了。。
|
7
66beta 2016-06-22 08:21:09 +08:00
jssdk ,后端出接口给你签名信息
|
8
zkm890520 2016-09-30 23:30:39 +08:00
@cloverstd 刚好遇到这个问题,兄台,我还是不理解你说的怎么做.... 我这边前端使用 vue.js,后端使用 php 的 laravel,按照你说的我也是 SPA 且 index.html 也没有给后端托管. 但是我想的是前端检测 localstore 有没有相信的 wechat_user 信息且没过期,不符合我就请求后端,然后后端就发给前端一个微信网站授权认证地址,接着前端就转到那个授权页面,回调地址写 后端 的.这时候认证完我怎么把后端认证完的 wechat_user 丢给前端.
因为问题就是我已经从前端对应的网址跳到微信服务器对应的授权网址再到后端地址,已经不知道前端谁是谁了 |
9
cloverstd 2016-09-30 23:37:19 +08:00
@zkm890520
假如你的前端是 http://hui.lu/1.html 然后你的微信回调是 http://hui.lu/callback 然后你拼接到微信的地址是 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://hui.lu/callback&response_type=code&scope=SCOPE&state=1#wechat_redirect 注意其中的 state=1 微信回调时会带上这个,你可以通过这个知道你的前端是 1.html |
10
zkm890520 2016-10-01 00:25:22 +08:00
@cloverstd 我说的前端不知道是谁,是指我从 前端.域名.com(localstore 没任何 wechat 的数据,在这里充当 session 的作用),向后端.域名.com/article/list 请求数据. 但是突然发现没有用户信息.
我就只能去从前端向后端发起一个需要微信授权认证的请求. 后端就告诉我网址 -> https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://hui.lu/callback&response_type=code&scope=SCOPE&state=1#wechat_redirect ,但是这个时候我的前端页面不就会跳到微信的授权页面么.接着再跳到那个 http://hui.lu/callback 授权认证地址. 经过一系列步骤后,我的后端得到了 openid.... 但是这个时候,因为我是前后端分离,也就是说我的前端不是 php 街西城 html 的,或者说前后端的网址可以是这样 前端: front.xxxx.com 后端: api.xxxx.com 我就不知道通过什么方法将我的道德 openid 交给前端. 是直接 front.xxxx.com?openid=myopenid...给么 |