记录 Spring Security OAuth2 身份验证失败的推荐方法是啥?

     2023-02-27     83

关键词:

【中文标题】记录 Spring Security OAuth2 身份验证失败的推荐方法是啥?【英文标题】:What is the recommended approach for logging Spring Security OAuth2 authentication failures?记录 Spring Security OAuth2 身份验证失败的推荐方法是什么? 【发布时间】:2020-12-03 16:12:00 【问题描述】:

我正在开发一个使用 Spring Security 5.3.3、Spring Security OAuth 2.5.0 的 Spring Web 应用程序(不是 Spring Boot),并进行如下配置:

http.authorizeRequests().
    antMatchers(permitUrls).
    permitAll().
    anyRequest().
    authenticated().
    and().
    oauth2ResourceServer().
    jwt();

我们的客户偶尔会报告我们在应用程序日志中找不到的 401 响应,因此我们假设它来自 Spring Security 本身。我们想记录身份验证和授权失败,但我不知道当前首选的方法是什么。

快速搜索发现 4 条路径:

自定义AuthenticationFailureHandler(好像这个只在FormLoginConfigurer中可用,不是我们的情况) custom AuthenticationEntryPoint(这个可以在 JWT 中使用,但是我要扩展的 OAuth2AuthenticationEntryPoint 是deprecated with an unhelpful message)。我可以尝试改用 HttpStatusEntryPoint,但我想避免更改应用的当前行为,只想添加日志记录。 自定义过滤器(可能不是最干净的路径) AuditApplicationEvents — 看起来很漂亮,但似乎只适用于 Spring Boot。

谁能给我一些指导?

【问题讨论】:

【参考方案1】:

我建议通过将org.springframework.security 的日志级别更改为DEBUG 来激活它。 根据您的日志工具(log4j2、logback、...),在您的日志配置中创建一个名称为 org.springframework.security 和级别为 DEBUG 的记录器。

【讨论】:

Spring Security OAuth2 v5:NoSuchBeanDefinitionException:'org.springframework.security.oauth2.jwt.Jwt

】SpringSecurityOAuth2v5:NoSuchBeanDefinitionException:\\\'org.springframework.security.oauth2.jwt.JwtDecoder\\\'【英文标题】:SpringSecurityOAuth2v5:NoSuchBeanDefinitionException:\'org.springframework.security.oauth2.jwt.JwtDec 查看详情

如何使用spring-security,oauth2调整实体的正确登录?

】如何使用spring-security,oauth2调整实体的正确登录?【英文标题】:Howtunecorrectloginforentitywithspring-secuity,oauth2?【发布时间】:2019-05-1822:01:35【问题描述】:我用crud操作创建了一个实体。我用过spring-boot、spring-security、oauth2、jwt。... 查看详情

oauth2 spring-security 成功和失败处理程序

】oauth2spring-security成功和失败处理程序【英文标题】:oauth2spring-securitysuccessandfailurehandler【发布时间】:2014-07-2114:44:05【问题描述】:我正在使用带有OAuth2的SpringSecurity。除了登录成功和失败处理程序外,它工作正常。与SpringWebS... 查看详情

Spring Security OAuth2 资源服务器重试/弹性

】SpringSecurityOAuth2资源服务器重试/弹性【英文标题】:SpringSecurityOAuth2ResourceServerretry/resilience【发布时间】:2018-08-1714:26:26【问题描述】:我正在使用SpringSecurityOAuth2(http://projects.spring.io/spring-security-oauth/docs/oauth2.html)开发资源服... 查看详情

无状态的 Spring Security oauth2 提供者

】无状态的SpringSecurityoauth2提供者【英文标题】:Statelessspringsecurityoauth2provider【发布时间】:2016-11-0920:47:35【问题描述】:我想基于spring-boot、spring-security和spring-oauth2设置一个简单的OAuth2提供程序。我在单实例机器上完成了所有... 查看详情

oauth2 spring-security 如果您在请求令牌或代码之前登录

】oauth2spring-security如果您在请求令牌或代码之前登录【英文标题】:oauth2spring-securityshouldyoubeloggedinbeforerequestingatokenorcode【发布时间】:2014-12-1915:52:07【问题描述】:我正在尝试在spring-mvc应用程序中使用spring-security(2.0.3.RELEASE)设... 查看详情

Spring Security 4 + OAuth2 = 坏凭证

】SpringSecurity4+OAuth2=坏凭证【英文标题】:SpringSecurity4+OAuth2=BadCredentials【发布时间】:2016-09-1213:34:47【问题描述】:我正在使用SpringSecurity+Oauth2进行多个提议。场景是:有一个公共上下文、一个私有上下文和一个REST上下文(最... 查看详情

Oauth2 资源服务器重叠 Spring Security 配置

】Oauth2资源服务器重叠SpringSecurity配置【英文标题】:Oauth2ResourceserveroverlapSpringSecurityconfiguration【发布时间】:2017-03-2512:29:59【问题描述】:我正在尝试在javaconfig上配置SpringSecurity和OAuth2。我正在使用SpringSecurity版本4.0.4.RELEASE和O... 查看详情

Spring Boot + Spring Security + Spring OAuth2 + Google 登录

】SpringBoot+SpringSecurity+SpringOAuth2+Google登录【英文标题】:SpringBoot+SpringSecurity+SpringOAuth2+GoogleSignin【发布时间】:2017-08-0107:22:59【问题描述】:我已经设置了一个小项目,使用SpringBoot(1.5.2)、SpringSecurity和SpringSecurityOAuth2实现OAuth2Log... 查看详情

微服务和 Spring Security OAuth2

】微服务和SpringSecurityOAuth2【英文标题】:MicroservicesandSpringSecurityOAuth2【发布时间】:2014-12-2711:34:21【问题描述】:我已经在另一个项目中运行了OAuth2授权服务器。现在我需要使用OAuth2保护几个简单的spring-boot休息服务器。但我... 查看详情

Spring Security OAuth2 - 将参数添加到授权 URL

】SpringSecurityOAuth2-将参数添加到授权URL【英文标题】:SpringSecurityOAuth2-AddparametertoAuthorizationURL【发布时间】:2015-09-0513:37:09【问题描述】:我正在使用SpringSecurity和OAuth2使用以下项目进行身份验证/授权。http://projects.spring.io/spring-... 查看详情

CORS 干扰 Spring Security oauth2

】CORS干扰SpringSecurityoauth2【英文标题】:CORSinterferingwithSpringSecurityoauth2【发布时间】:2017-11-0915:56:20【问题描述】:我在尝试从浏览器的oauth/token获取令牌时遇到问题。我有一个带有SpringSecurity和SpringSecurityoauth的SpringBoot应用程序... 查看详情

Spring Security + spring oauth2 解析

】SpringSecurity+springoauth2解析【英文标题】:SpringSecurity+springoauth2resolution【发布时间】:2016-03-0500:10:19【问题描述】:我正在开发一个使用spring开发的新REST服务器。服务器必须只有服务器端逻辑,没有js或视图。目前我从Spring-boot... 查看详情

OAuth2 Spring Security - OAuth2AuthenticationProcessingFilter 不起作用

】OAuth2SpringSecurity-OAuth2AuthenticationProcessingFilter不起作用【英文标题】:OAuth2SpringSecurity-OAuth2AuthenticationProcessingFilternotworking【发布时间】:2014-07-2722:44:30【问题描述】:嘿,我正在使用OAuth2实现Spring应用程序。根据springdocumentation... 查看详情

Spring 网站的 Spring Security Oauth2

】Spring网站的SpringSecurityOauth2【英文标题】:SpringSecurityOauth2forSpringWebsite【发布时间】:2016-09-2120:17:17【问题描述】:我们正在开发一个项目,该项目有一个Spring网站、为第三方客户提供的RestWeb服务和我们自己的移动应用程序。... 查看详情

使用 spring-session 和 spring-cloud-security 时,OAuth2ClientContext (spring-security-oauth2) 不会保留在 Redis

】使用spring-session和spring-cloud-security时,OAuth2ClientContext(spring-security-oauth2)不会保留在Redis中【英文标题】:OAuth2ClientContext(spring-security-oauth2)notpersistedinRediswhenusingspring-sessionandspring-cloud-security【发布时间】:20 查看详情

Spring Security OAuth2 AngularJS |注销流程

】SpringSecurityOAuth2AngularJS|注销流程【英文标题】:SpringSecurityOAuth2AngularJS|LogoutFlow【发布时间】:2017-06-1013:10:34【问题描述】:参考oauth2spring-guides项目中的注销流程,一旦用户第一次使用用户/密码进行身份验证,下次注销后不再... 查看详情

Spring security oauth2 - 从 OAuth2 主体获取自定义数据

】Springsecurityoauth2-从OAuth2主体获取自定义数据【英文标题】:Springsecurityoauth2-gettingcustomdatafromOAuth2principal【发布时间】:2013-04-1700:00:42【问题描述】:我有一个使用Spring安全性并具有用户(用户名和密码)和标准表单身份验证的... 查看详情