https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN
获取微信服务器ip list:
{"ip_list":["101.226.62.77"]}
网页受权:
填写第一步获取的code参数
若是网页受权做用域为snsapi_userinfo,则此时开发者能够经过access_token和openid拉取用户信息了。
总结
启用服务器配置后,没法推送获取,另外菜单也不能使用
签名是为了给微信服务器发送随机穿并验证,而且是get方法
之后全部的聊天请求都会由另外的post来处理
网页受权的地址,不要带www,另外也不要有/,也就是com截止!
内网穿透:
http://www.ngrok.cc/
openID is 公众号ID与用户微信ID合成加密而来
因此才有了unionid
因为access_token拥有较短的有效期,当access_token超时后,可使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效以后,须要用户从新受权。
方案一:为每一个受权过的用户建立一个线程定时刷新token
由于,用户受过权。能够利用refresh_token的30天期限特征不须要其再受权,
除非取消了关注,从新关注后openid任然能够继续使用
以前的逻辑所有错误!
if (code == null || code.equals("authdeny")) { isValidCode = false; }
这个是用户不一样意,而后取消受权后强制跳转到受权按钮
//若是session未空或者取消受权,重定向到受权页面,这句没搞懂是什么意思
这个是用于验证用户是否点击了受权赞成按钮
,并非拿来二次调用的!!!!!!!!!!!!!
不对,是须要二次调用的,第二次调用由于有code了
获取用户信息,只是获取本地的数据库表中的缓存,因此,没有必要使用access_token
// UserWx userWx = JSONObject.toJavaObject(jsonUser, UserWx.class); 报错须要解决
项目位置: System.out.println(System.getProperty("user.dir") );
request.getSession().getServletContext().getRealPath("")
用户点击认证链接,不管是否确认受权,都会调到redirectUrl页面, code可能会变为ahthden
把code放在首口,多是由于做者的回调地址也是认证地址
// UserWxService memberService = (UserWxService) WebAppContext.getObject("UserWxService");
// response.getWriter().print(obj);
userWx = userWxService.saveOrUpdate(userWx);
//若是openid不存在,则返回state并跳转到注册,可是跳转须要用到 页面,但是参数怎么传过去
//或者使用微信回调 XXX行不通
//放在json里面做为
//--不存在话返回标识,约定值,1,到达用户中心,2,到达注册页面
response.getWriter().print(code);
关于网页受权access_token和普通access_token的区别html
一、微信网页受权是经过OAuth2.0机制实现的,在用户受权给公众号后,公众号能够获取到一个网页受权特有的接口调用凭证(网页受权access_token),经过网页受权access_token能够进行受权后接口调用,如获取用户基本信息; 数据库
二、其余微信接口,须要经过基础支持中的“获取access_token”接口来获取到的普通access_token调用。 json
关于微信用户登陆的最后的决策:
提供统一的页面式回调URL,而后后面全部的业务尽可能在后台完成