Products
GG网络技术分享 2026-04-17 07:32 0

至于吗? 哎, 最近接了个项目,需要在 Spring Boot 项目里集成微信公众号的网页授权登录。说实话,一开始看着微信官方文档头都大了!各种参数、流程、错误码…简直是噩梦。好在折腾了一圈,总算是搞定了。现在把经验分享出来希望能帮到那些和我一样苦苦挣扎的开发者们。 这玩意儿真麻烦啊!
又爱又恨。 搭建Spring Security OAuth2授权码模式demo,一方面在慢慢完善该文过程中做一个系统的,一方面做一个知识输出。
本文档详细介绍了如何在Spring Security框架基础上定制开发微信公众号网页授权登录的OAuth2客户端。详细阐述了微信公众平台OAuth2服务的流程、 不堪入目。 参数配置及差异分析,并提供了具体的开发实现步骤和代码示例,帮助开发者实现定制化需求。
上一篇介绍了OAuth2协议的基本原理,以及Spring Sec…
不地道。 先说说要有一个微信公众号,并且在微信开放平台申请应用信息。这些信息是后续配置的关键。 别忘了开通网页授权!不然啥也干不了。
需要在 pom.xml 文件中添加以下依赖:
| 依赖 | 版本 |
|---|---|
| spring-boot-starter-web | 3.3.0 |
| spring-boot-starter-security | 3.3.0 |
| spring-security-oauth2-client | 6.3.0 |
spring:
security:
oauth2:
client:
registration:
wechat:
client-id: ********* #你的AppID替换这里!重要!重要!重要!千万别用我的!我只是个例子!真的!相信我!╯︵┻━┻ # AppID替换成你的appId哦~ 你懂的~ 不然就报错了~ 我已经提醒你了哦~ client-secret: ******************* #你的AppSecret替换这里! 重要!重要!重要!千万别用我的!我只是个例子!真的!相信我!# AppSecret替换成你的appSecret哦~ 你懂的~ 不然就报错了~ 我已经提醒你了哦~ authorization-grant-type: authorization_code redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}" scope: snsapi_userinfo # 该scope允许获取微信的用户信息 provider: wechat: authorization-uri: https:///connect/oauth2/authorize token-uri: https:///sns/oauth2/access_token user-info-uri: https:///sns/userinfo user-name-attribute: nickname # 用户名对应的属性名称,即微信昵称
@Beanpublic SecurityFilterChain filterChain throws Exception { http .oauth2Login ...) .tokenEndpoint ...) .userInfoEndpoint ...) ); return ; }
https:///sns/oauth2/accesstoken?appid=APPID&secret=SECRET&code=CODE&granttype=authorization_code
精神内耗。 https:///sns/userinfo?accesstoken=ACCESSTOKEN&openid=OPENID&lang=zh_CN
@RestControllerpublic class UserController { @GetMapping public String user { String username = .getAuntication.getName; return "Hello " + username; } },闹乌龙。
Demand feedback