微信扫描二维码登录第三方平台
来源:互联网 发布:最新司令部升级数据 编辑:程序博客网 时间:2024/05/01 17:29
嗯。。。。。。
最近做了一个微信扫码登陆第三方平台功能,说下步骤就行,反正原理你们网上直接百度,我这里写了,估计也没几个人有耐心看
第一步 生成一个链接
https://open.weixin.qq.com/connect/qrconnect?appid=xxxxxxxxf&redirect_uri=xxxxxxxxxxxx&response_type=code&scope=snsapi_login&state=#wechat_redirect
访问这个链接的时候,就会返回一张二维码 xxxxx地方是参数,,appid需要你开通微信开放平台,开通之后就会有,还有一个secret,,这2个都需要,这里需要注意,微信还有一个公众平台也有这2个参数,他们是不一样的。你开发的时候要区分是开放平台还是公众平台,不要掉进坑里 ,redirect_uri=这个是说,你扫描二维码之后,要跳转的地址,这里跳转回带上code和state 2个参数,所以你编写的时候需要这样
@RequestMapping(value = "/code", params = { "code", "state" }, method = RequestMethod.GET)
@ResponseBody
public Object getAuth(HttpServletRequest request, @RequestParam String code, @RequestParam String state)
throws JSONException {
///这里第一步,首先需要通过appid,secret ,code 去获取token
https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + APPID + "&secret="
+ SECRET + "&code=" + code + "&grant_type=authorization_code";//获取token的地址,
这里我使用的是 apache下的httpclient
DefaultHttpClient client = new DefaultHttpClient();
try {
HttpGet getRequest = new HttpGet(access_token_url);
HttpResponse response = client.execute(getRequest);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String strResult = EntityUtils.toString(response.getEntity());
logger.info("-------jsonResult-------" + strResult);
JSONObject jsonResult = new JSONObject(strResult);
if (jsonResult.has("unionid")){
unionid= (String) jsonResult.get("unionid");
}
这个参数非常的重要,但是我也懒得讲了,你们自己百度吧,就是要记住一点,这个参数是唯一的,
}
然后经过你后台的鉴权通过之后,跳转,至于鉴权方式,就看你自己额
你可以通过 unionid 去数据库寻找用户,,智力需要说明,,unionid是之前就获取到了用户的,然后初始化到数据库了得,至于怎么查找unionid,需要通过openid
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN。这个是获取unionid 的,至于这个openid,你获取token 的时候,就会有的,反正你写个脚本,把他们保存数据库,当作初始化,
if (SecurityUtils.getSubject().isAuthenticated()) {
logger.info(" 二维码登录成功 : " + openid);
logger.info(" 二维码登录成功 username : " + (String) SecurityUtils.getSubject().getPrincipal());
return new ModelAndView("redirect:x'x'x'x'x'x'x'x'x");
}
- 微信扫描二维码登录第三方平台
- 微信第三方二维码扫描登录
- 微信开放平台第三方登录(二)
- 微信api 第三方平台授权 登录 ,获取用户信息
- 微信扫描二维码快速登录网站
- 微信扫描二维码登录网页原理
- 微信扫描二维码,实现自动登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 微信第三方登录
- 李奎元:说说那些征信模型(Z计分模型、巴萨利模型和A值模型)
- 【Linux】-- Mysql(2) : 创建数据库和数据表
- PrintWriter FileNotFoundException
- 排序算法速度比较
- python 迭代器与生成器即迭代协议的特别说明
- 微信扫描二维码登录第三方平台
- Hibernate中如何使用count(*)取得表中记录总数
- 2. Add Two Numbers
- 第四章 Linux常用命令(文件操作)
- Linux链接文件之软连接硬链接
- Android静默安装(需root)
- RTMP Handshake
- Java日期类型和字符串的相互转换
- 韩顺平jsp视频实战教程