微信扫描二维码登录第三方平台

news/2024/11/29 10:56:14/

嗯。。。。。。

最近做了一个微信扫码登陆第三方平台功能,说下步骤就行,反正原理你们网上直接百度,我这里写了,估计也没几个人有耐心看

第一步 生成一个链接  

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");
}


http://www.ppmy.cn/news/653809.html

相关文章

keil_arm满减栈应用场景

.text .global _start _start:满减压栈使用场景ldr sp,0x40000800mov r0,#0x1mov r1,#0x2bl add1_funcadd r0,r0,r1 r0 r0 r1 0x3b stopadd1_func: 压栈保存现场 r0 0x1 r1 0x2stmfd sp!,{r0,r1,lr}mov r0,#0x3mov r1,#0x4bl add2_funcadd r0,r0,r1 r0 r…

小程序中使用scroll-view组件,内容高度未超过容器高度时依然可以上下滑动小段距离的问题

解决办法&#xff1a; 如下代码&#xff1a;检查下scroll-view组件是否设置了上下padding 或者 scroll-view的父盒子< view class“home-page” >…< /view >设置了上下padding&#xff0c;如果设置了&#xff0c;去掉就可以解决问题。 <view class"home…

word设置页眉页码 首页没有页眉(终于搞懂了)

1.设置首页没有页眉 主要是通过分节符完成的&#xff0c;顾名思义&#xff0c;分节符就是将全文分为两节&#xff0c;然后就可以实现对两节内容的分别设置。 比如首页没有页眉。 在首页的最后一行插入分节符&#xff0c;然后就会显示出&#xff08;分节符&#xff08;下一页…

去掉WORD文档中首页的页眉及页眉的横线

去掉WORD文档中首页的页眉及页眉的横线 左直拳 用WORD写文档&#xff0c;少不得加上页眉页脚。 可是有时候&#xff0c;写一个长一点的文档&#xff0c;需要制作一个封面&#xff0c;比如&#xff0c;写上“叉叉叉管理系统&#xff0c;某某某单位”之类&#xff0c;却猛然发现&…

python-docx修改页眉页脚

官方文档肯定是最正规的&#xff0c;但是有点简单&#xff0c;有必要记一下&#xff0c;网上资料较少。 https://python-docx.readthedocs.io/en/latest/dev/analysis/features/header.html?highlightfooter 打开一个文档后&#xff0c;页眉和页脚是跟着“节”走的&#xff…

word页眉页脚修改

一、要求&#xff1a;一个word文档里有多个封面、目录和正文内容。 1、要求页眉奇数页为“作者&#xff1a;毕设题目”&#xff0c;偶数页为“本科毕业设计”&#xff1b; 2、页脚奇数页“向右对齐”&#xff0c;偶数页向左对齐&#xff1b; 3、封面和目录不能有页眉页脚。 …

奥斯汀页眉怎么设置_Word页眉横线怎么去掉与页眉页脚如何设置删除,含首页、奇数偶数页、横纵向页不同及第一页与最后一页不要页...

在 Word 中,页眉页脚默认情况下所有页都一样,但可以设置首页不同、奇偶页不同、纵向页与横向页不同,还可以设置第一页 与最后一页不要页眉但中间的所有页都要页眉。设置奇偶页不同后,还可以设置奇偶页页码连续。 默认情况下,页眉页脚有横线(即文字下有下划线),如果不想要…

word页眉页脚,奇偶不同

word页眉页脚的编辑&#xff0c;奇偶不同 一点知识补充分页符 分节符 &#xff1f;&#xff1f;&#xff1f; 格式要求正文页码页眉 结果总结 一点知识补充 分页符 分节符 &#xff1f;&#xff1f;&#xff1f; 分页符和分节符两者效果看起来没啥区别&#xff0c;都是希望下…