微信开发笔记

官方开发文档
 
接入步骤
一、利用filter获取微信验证
须要更改端口为80,(默认端口不要写)
 
遇到的问题:
该账号是微信公众平台账号,不能用于登陆微信开放平台
须要从新注册,由于是独立的
 
二、在开发-基本配置里找到appid、secret,而后填入下面图片中进行验证,若是校验经过,则能够经过此接口获取access_token
 

微信公众平台接口调试工具

若是校验失败,能够从新再试!
三、经过access_token获取iplist
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
 
  
 
跨域 回调解决
 
<mvc:mapping path="/**"/> <mvc:exclude-mapping path="/hello"/>
exc必须放在下面!!!!!!!!!!
 
这个地方,以及其它若干地方须要去掉http
 
 
 
// 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,而后后面全部的业务尽可能在后台完成
相关文章
相关标签/搜索