spring-security-oauth2实现OAuth2.0服务

本文介绍了如何使用spring-security-oauth2框架实现OAuth2.0授权服务,讨论了授权服务和资源服务的概念,以及它们在不同应用场景下的部署方式。重点阐述了spring-security的endpoints在授权服务中的角色,以及资源服务中的OAuth2AuthenticationProcessingFilter在Token校验中的作用。详细配置示例可参考github上的spring-security-oauth demo。
摘要由CSDN通过智能技术生成

关于OAuth的介绍查看我的另一篇文章OAuth的4种授权方式,spring-security-oauth2是实现OAuth2.0的框架,配置稍微有些繁琐,因此本文记录下大概的思路,加深印象。

OAuth 2.0中主要有Authorization Service授权服务和Resource Service资源服务,他们可以在同一个应用程序中,也可以在两个应用程序中,甚至多个资源服务共享一个授权服务。

spring-security提供了相应的endpoints来管理token的请求,/oauth/authorize端点负责授权服务,/oauth/token端点负责token的请求服务;资源服务中的过滤器OAuth2AuthenticationProcessingFilter 负责校验Token。

下面从总体上介绍授权服务和资源服务的主要配置,详细的配置在githubspring-security-oauth demo上。

授权服务配置


@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
   
    private static final String DEMO_RESOURCE_ID = "openapi";

    @Autowired
    private OrderAuthProperties orderAuthProperties;

    /**
     * 注意这里AuthenticationManager和UserAccountService
     * 是在SecurityConfiguration配置的,把俩个配置类关联了起来
     */
    @Autowired
    AuthenticationManager authenticationManager;
    @Autowired
    private UserAccountService userAccountService;

    @Autowired
    private AuthorizationCodeServices authorizationCodeServices;

    @Autowired
    RedisConnectionFactory redisConnectionFactory;

    @Autowired
    private OAuthClientDetailsService oAuthClientDetailsService;

    @Autowired
    private Dat
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值