springboot oauth2 普通用户登录和微信小程序用户登录同时支持

springboot oauth2 2种用户登录(普通用户,微信小程序用户)

关键

关键是需要2个tokenService, 对应产生不同的token

import java.util.Arrays;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
import org.springframework.security.oauth2.con
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
如果您下载了本程序,但是该程序存在问题无法运行,那么您可以选择退款或者寻求我们的帮助(如果找我们帮助的话,是需要追加额外费用的)。另外,您不会使用资源的话(这种情况不支持退款),也可以找我们帮助(需要追加额外费用) 微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下服务的重要桥梁。 小程序的核心特点包括: 零安装:用户只需通过微信扫一扫或搜索功能,即可打开和使用小程序,大大降低了用户的使用门槛和手机存储空间压力。 速度快:加载速度相较于传统的HTML5网页更快,依托于微信强大的基础设施,能够实现近乎原生应用的流畅体验。 跨平台兼容:开发者一次开发,即可在多种终端设备上运行,免除了复杂的适配工作,大大提高了开发效率。 社交属性强:小程序可以无缝嵌入微信生态,支持分享至聊天窗口、朋友圈等社交场景,有利于用户间的传播和裂变增长。 丰富接口能力:提供丰富的API接口,可调用微信支付、位置服务、用户身份识别等多种功能,方便企业进行商业服务的集成与拓展。 目前,微信小程序已经覆盖了电商购物、生活服务、娱乐休闲、教育学习、工具助手等多个领域,为数以亿计的用户提供便捷的服务入口,也为众多商家和开发者提供了新的商业模式和创业机会。随着技术的不断升级和完善,小程序已成为现代移动互联网生态中不可或缺的一部分。
Spring Boot是一个开发Java应用的框架,它提供了便捷的配置和开发方式。OAuth2是一种授权协议,用于保护Web应用的资源。而微信是中国最大的社交媒体平台之一,也提供了OAuth2的接口用于用户授权。 在Spring Boot中使用OAuth2授权码模式实现与微信的授权,需要进行以下步骤: 1. 配置OAuth2客户端信息:在应用的配置文件中,添加微信的OAuth2客户端信息,包括client id、client secret和授权回调地址等。 2. 创建Spring Security配置类:在配置类中,使用@EnableOAuth2Client注解启用OAuth2 Client功能,并配置OAuth2客户端信息。 3. 创建授权回调URL处理器:在回调URL处理器中,获取微信返回的授权码以及其他相关参数,并将授权码发送到微信的access token API获取访问令牌和刷新令牌。 4. 实现用户认证和授权逻辑:根据微信返回的访问令牌,获取用户的基本信息,并封装成Spring Security的UserDetails对象,用于用户认证和授权。 5. 创建前端页面:在前端页面显示微信授权按钮,用户点击后跳转至微信授权页面进行授权。 6. 处理授权后的回调请求:在回调请求处理器中,获取微信返回的授权码,并将授权码发送到服务端以获取访问令牌。 7. 使用访问令牌访问微信API:根据获取到的访问令牌,使用微信API获取用户的基本信息、用户授权范围等。 以上是使用Spring Boot实现与微信OAuth2授权码模式的基本步骤。通过配置OAuth2客户端信息、处理授权回调、实现用户认证和授权逻辑,我们可以在Spring Boot应用中实现与微信的授权登录功能。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值