springboot 整合微信扫码登录

标题 springboot 整合微信扫码登录

转载: https://blog.csdn.net/yongfeng929/article/details/82494869
  • 此功能基于微信开放平台。实现此功能的前提是需要有微信开放平台帐号,并认证(需300¥)成功。
  • 需要有公网可以访问的域名和IP。

  • 一、微信开放平台认证流程

    1. 进入微信开放平台
    2. 使用帐号登录后进入到帐号中心–》开发者资格认证–》认证。(认证需要提交公司营业执照一些信息)此处按要求填写即可。认证成功与否一般会在两日内回复结果。此处不再赘述。
    3. 认证成功后就可以对我们现有的网站系统进行开发了。资源中心中有官方给的一些参考demo。可以自行查看。
    4. 进入到管理中心–》网站应用–》创建网站应用–》填写基本信息–》填写网站信息。需要说明的是开发信息中有个授权回调域,此处填写的是我们项目所在的域名(此域名可以修改,其他信息修改需要重新审核)。
    5. 提交成功后官方会对所申请的资料进行审核。审核成功后我们就能看到我们开发所需要的AppID和AppSecret(第一次使用使用需要用绑定的微信号扫码生成)。然后我们就可以撸代码了,嘿嘿…

    二、架构介绍

    1. 此项目使用springboot环境搭建,只有微信扫码登录业务,不牵扯到其他业务,一些公司敏感信息我会用文字注明。
    2. springboot项目生成。点击springboot官方项目生成。进入到springboot生成页面,话不多说上图:这里写图片描述
    3. 把官方生成maven项目导入到我们的IDE中。
    4. 打开我们的项目,项目目录结构:
      这里写图片描述

    三、代码实现

    1. 把我们开发需要用到的官方的信息填写到application.properties中。
    #填写我们在微信开放平台上创建网站应用成功审核通过官方所给的Appid号
    appid=
    #填写我们在微信开放平台上创建网站应用成功审核通过官方所给的Appid号和密匙
    appid=
    secret=
    #回调地址,此处的回调地址为域名,切记:只支持80端口访问
    redirect_uri=
    #此处为应用唯一识别号,我们可以用此号绑定对应的帐号信息
    openid=
    
     
     
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    1. 创建WechatScanLoginController.java
      这里写图片描述
    2. 创建业务层接口WechatScanLoginService.java
      这里写图片描述
    3. 创建业务层实现类WechatScanLoginServiceImpl.java
      这里写图片描述
    4. 浏览器访问链接"http://域名/wechat/list"即可访问到Controller中的list方法,并重定向到微信官方自动生成的二维码页面。

    注意项目:

    1. 项目域名需要和微信开放平台创建的网站应用的回调地址域名保持一致。不然会报错redirect_uri 参数错误。

    最后最重要,项目源码:https://download.csdn.net/download/yongfeng929/10673580
    如果项目中存在什么错误,欢迎大家指导。过程中遇到什么问题,大家可以共同探讨,共同学习,共同进步。
    请大家支持原创,转载请注明出处。https://blog.csdn.net/yongfeng929/article/details/82494869

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个springboot整合微信扫码登录的示例: 1. 首先,在微信公众平台上创建一个应用,并获取到AppID和AppSecret。 2. 在Spring Boot项目中添加以下依赖: ``` <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-mp</artifactId> <version>3.4.</version> </dependency> ``` 3. 在application.properties文件中配置AppID和AppSecret: ``` wechat.mp.appId=your_app_id wechat.mp.secret=your_app_secret ``` 4. 创建一个Controller,用于处理微信扫码登录的请求: ``` @RestController @RequestMapping("/wechat") public class WechatController { @Autowired private WxMpService wxMpService; @GetMapping("/login") public String login(HttpServletRequest request) throws WxErrorException { String redirectUrl = "http://your_domain.com/wechat/callback"; String state = UUID.randomUUID().toString(); String url = wxMpService.oauth2buildAuthorizationUrl(redirectUrl, WxConsts.OAuth2Scope.SNSAPI_USERINFO, state); return "redirect:" + url; } @GetMapping("/callback") public String callback(HttpServletRequest request) throws WxErrorException { String code = request.getParameter("code"); WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code); WxMpUser user = wxMpService.oauth2getUserInfo(accessToken, null); // TODO: 处理用户信息 return "success"; } } ``` 5. 在启动类中添加以下代码,初始化WxMpService: ``` @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean public WxMpService wxMpService() { WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxMpConfigStorage()); return wxMpService; } @Bean public WxMpConfigStorage wxMpConfigStorage() { WxMpInMemoryConfigStorage configStorage = new WxMpInMemoryConfigStorage(); configStorage.setAppId("your_app_id"); configStorage.setSecret("your_app_secret"); return configStorage; } } ``` 以上就是一个简单的springboot整合微信扫码登录的示例,希望对你有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值