从Grant_Type = password和Grant_Type = Refresh_token获得的访问令牌中用户角色(当局)的差异
我有一个情况: 步骤1:获得访问令牌(grant_type = password)(a1)和刷新令牌.(rt1) 步骤2:使用令牌(A1)访问资源(R) - 成功 步骤3:撤销资源r. 的用户访问角色 步骤4:获得访问令牌(grant_type = password)(a2)和刷新令牌.(rt2) 步骤5:使用令牌(A2) - 失败 访问资源(R) 直到这里一切都很好.现在出乎意料的部分. 步骤6:使用RT2获得了新的访问令牌(Grant_Type = RefResh_Token).出乎意料地使用此访问令牌我能够访问资源r. 在整个流中,所有令牌都没有过期. 我在这里看到了两个问题: - 用户角色在grant_type = password和grant_type = refresh_token上没有更新以更新刷新令牌.尽管访问令牌已更改(步骤4),但刷新令牌保持相同的RT1 == RT2.因此,RT的任何进一步使用都可以访问以前的角色.
4 2023-10-23
编程技术问答社区
我如何在Spring WebFlux中自定义OAuth2的登录页面?
我只想覆盖默认的OAuth2登录URL(/login).我怎样才能做到这一点?我尝试过的配置而没有成功: @Bean public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) { http .authorizeExchange().pathMatchers(permittedUrls).permitAll() .anyExchange().authenticated() .and() .oauth2Login(Customizer.withDefaults()).formLogin().loginPage("/oauth2_login") .authenticationSuccessHandler
Spring Boot 2 OAuth2" HTTP Content-Type标头必须是应用程序/JSON"
我正在创建Spring Boot 2 OAuth2客户端/服务器应用程序.授权服务器成功地登录并重定向到客户端,但是当客户端接收重定向时( http://localhost:8080/login/login/oauth2/code/xe?code = ack4ae&state&state&state = jw-dcgyvja6qvja6qv-fcotgjgy-fcotgjgy-6fcgy-6fcotgjgy-6fcotgjgy-6fyuyjha-hbbjha-hbjjha-hbjjha-hbjjjhhm4%客户端浏览器显示: Your login attempt was not successful, try again. Reason: [invalid_token_response] An error occurred parsing the Access Token response: The HTTP Content-Type header must be applica
8 2023-09-15
编程技术问答社区
Spring OAuth2RestTemplate无法获得新的accessToken
我正在使用Spring-Boot-Oauth2与 preterization_code Flow 和 @enablezuulproxy .i遵循 access_token_validty 用于开发目的.每个设备都可以正常工作,直到访问令仍然有效为止.但是当访问令牌过期(我等了片刻到期),我得到了以下的例外. WARN SendErrorFilter:78 Error during filtering com.netflix.zuul.exception.ZuulException: Filter threw Exception at com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:227) at com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157) at com.netflix
42 2023-09-15
编程技术问答社区
Spring Boot OAuth2隐式流 +表格登录和请求方法" post"不支持错误
在我的春季启动应用程序中,我正在尝试配置OAuth2隐式流.为此,我试图配置自定义登录表单. 这是我的配置: @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter { @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("index"); registry.addVie
10 2023-09-15
编程技术问答社区
spring security client_credentials grant_type-support for refresh token
client_credentials赠款类型支持刷新令牌方案? 使用client_credentials client_credentials授予类型时,应如何处理access_token? 我有授权服务并在代理服务(带有EnableOAuth2Sso> EnableOAuth2Sso)背后的有授权服务,该服务是来自客户端应用程序的所有请求的网关. 这是我的流程: 接受客户端应用程序请求(REST API)的代理服务(ZUUL) 代理服务通过发布client_id,client_secret和grant_type(client_credentials)调用授权服务API并获得access_token,refresh_token,并从响应中到期 代理服务按照Zuul路线映射将原始请求路由到受保护的服务. 此流程正常,但是查看ClientCredentialsAccessTokenProvider中的代码,我注意到" supportsrefresh"返回fa
14 2023-09-15
编程技术问答社区
Spring OAuth2授权服务器:无法注销用户
我创建了一个作为OAuth2客户端的Angular应用程序.我使用以下安全配置 使用Spring OAuth2创建了我的授权服务器 @Bean @Order(1) public SecurityFilterChain jwtSecurityFilterChain(HttpSecurity http) throws Exception { http .addFilterBefore(corsFilter(), UsernamePasswordAuthenticationFilter.class) .csrf().disable() .headers().frameOptions().disable() .and() .antMatcher("/auth/account/**") .auth
18 2023-09-15
编程技术问答社区
spring oauth2资源服务器JWT.JWK-SET-uri来自Eureka Server
当前我已经在资源服务器和Spring Cloud Gateway中配置了以下类似的set-uri, spring.security.oauth2.resourceserver.jwt.jwk-set-uri: http://dev.auth.server:9999/.well-known/jwks.json 但是,为了实现高可用性,我想从尤里卡服务器(Eureka Server)解决此终点,我已经成功地在尤里卡(Eureka)注册了我的auth服务器,但是以下配置失败了, spring.security.oauth2.resourceserver.jwt.jwk-set-uri: **lb://auth-server**/.well-known/jwks.json 任何人都可以建议吗? 解决方案 当前无法通过在JWT.JWK-SET-URI中直接设置Auth-Server来实现高可用性,而可以通过路由穿过Spring Cloud Gateway 来实现这一目
0 2023-09-15
编程技术问答社区
弹簧安全5 OAuth 2社交注销
我已添加到我的Spring Boot MVC Web应用程序社交登录功能中.它允许用户使用GitHub,Facebook或Google帐户登录我的应用程序.但是我正在努力获得/注销功能工作.即使调用/注销并加载了登录名cessurl,如果用户再次单击登录链接,则不会要求用户再次提供其用户名或密码.看来用户仍经过身份验证. 您如何使用新的Spring Security 5 Oauth 2客户支持? 如何实现/注销? 我已经使用了新的OAuth 2客户支持. org.springframework.boot spring-boot-starter-oauth2-client spring.security.oauth2.client.registration.facebook.client-id = sprin
0 2023-09-15
编程技术问答社区
多登录端点Spring Security OAuth2
我正在尝试为不同的用户角色(带有Spring Boot 2的Spring Security OAuth2)实施多个登录策略,并且每个策略应使用不同的端点.我有3种用户类型,REGULAR, EXTERNAL, CLIENT,其中常规登录在vía用户名/密码,外部登录通过documentID/键,客户端在获取当前密码之前进行了一些SMS SMS Shenanigans,并使用电话/密码登录.他们已经可以从常规网站登录,但是每个角色都有移动应用程序. 我尝试使用@EnableAuthorizationServer创建多个AuthorizationServer实例,每个实例都使用配置,但它只能拾取最后一个.每个角色都有不同的UserDetailsService inmand,恰好是DB中创建的一个应用程序.我想暴露它们,以便客户端应用使用/client/oauth/...,常规应用使用/regular/oauth/...,外部应用程序使用/external/oauth/...我该如何实现
12 2023-09-15
编程技术问答社区
将WebSecurityConfigurerAdapter与Spring OAuth2和user-info-uri一起使用
我创建了一个授权服务,如下所示 @SpringBootApplication @EnableAuthorizationServer public class AuthorizationApplication { ... } 使用此application.properties. server.port=9000 security.oauth2.client.client-id=monederobingo security.oauth2.client.client-secret=monederobingosecret security.oauth2.client.authorized-grant-types=authorization_code,refresh_token,password,client_credentials security.oauth2.client.scope=company,client 然后,在一个单独的春季启动项目中,我创建了一个资源服
2 2023-09-15
编程技术问答社区
OAuth2 | ClientCredentialSresourceRcedEtails |弃用
我是Spring Security的新手,我遇到以Client_credentials作为赠款类型实现OAuth2. 我正在使用以下代码,但是我建议 clientcredentialsresourcercourcedetails,oauth2resttemplate&oauth2accesstoken 已弃用. 有人可以帮助替代方案吗? private String getAuthTocken(){ final ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails(); resourceDetails.setClientId("ceapiClientId"); resourceDetails.setClientSecret("ceapiClientSecret"); resourceDetails.setGrant
30 2023-09-15
编程技术问答社区
在OAuth2身份验证成功和匿名令牌之后获得404
我正在使用 Springboot 1.5.6.Release 使用OAuth2,并且我正在使用JDBC身份验证. 我添加了属性:security.oauth2.resource.filter-order = 3 1- oferizationserverconfigurerAdapter: @Configuration @EnableAuthorizationServer public class OAuth2Config extends AuthorizationServerConfigurerAdapter { @Autowired @Qualifier("authenticationManagerBean") @Lazy private AuthenticationManager authenticationManager; @Autowired private Environment env; @Ove
JWE在Spring Security Oauth2 JWT
是否可以将JSON Web加密(JWE)与Spring Security OAuth2 JWT? 一起使用 现在我有一个以下JwtAccessTokenConverter: @Bean public JwtAccessTokenConverter accessTokenConverter() { JwtAccessTokenConverter converter = new JwtAccessTokenConverter() { @Override public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { DBUserDetails user = (DBUserDetails) authentication.getUserAuthentication().getPri
16 2023-09-15
编程技术问答社区
Spring Boot OAuth2资源服务器UserDetailsservice
试图让我设置的OAuth2资源服务器的UserDetailsS​​ervice工作.我能够成功地验证JWT,但是我似乎没有什么能让它调用LoadUserByusername方法.这最初是在使用SAML,它正在工作,但是现在我已经剪下了OAuth2,我无法正常工作. @Service public class OauthUsersDetailsServiceImpl implements UserDetailsService{ @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { //some user loading junk here - this is never called } } @Configuratio
Spring Boot OAuth2角色基于授权
我们有一个专用的授权服务器扩展了授权服务器configurerAdapter,在其中设置了授权范围覆盖void configure(clientdetailsserviceconfigurer客户端)方法. @Configuration @EnableAuthorizationServer protected static class OAuth2Config extends AuthorizationServerConfigurerAdapter { @Value('${oauth.clientId}') private String clientId @Value('${oauth.secret:}') private String secret @Value('${oauth.resourceId}') private String resourceId @Autowired @Q
6 2023-09-15
编程技术问答社区
使用spring security an oauth2调用刷新令牌失败,错误: UserDetailsService是必需的
我正在使用Spring Security OAuth2进行授权.尝试刷新令牌时,我会收到一个错误:UserDetailsService is required(有趣的是,我仅在Unix机器上而不是在Windows上获得此错误).我正在使用Spring OAuth2版本2.0.7. 由于某种原因,DefaultTokenService中的AuthenticationManager不是空的,它试图对用户进行身份验证以检查他是否仍然存在.我认为由于某些弹簧安全性与Spring OAuth2配置问题而被初始化. 我不使用任何自定义UserDetailsService,因此此时不应对用户进行身份验证.但是,当我调试时,我会发现它试图使用WebSecurityConfigurerAdapter中的一个并遇到此错误.即使我提供我的自定义虚拟UserDetailsService,它也不使用它,而是尝试使用另一个(null).我在这里想念什么吗?我找不到为什么会发生这种情况? 这是我的o
4 2023-09-15
编程技术问答社区
在Spring OAuth中,/oauth/authorize和/oauth/token如何互动?
我正在对Spring Oauth进行深入研究,我发现了一些相互矛盾的信息. 具体来说, Spring Oauth开发人员指南 > and /oauth/token端点,但并没有针对它们的工作方式具体说明. /oauth/authorize是否进行100%检查username/password/nOtherFactors检查,然后发信号/oauth/token端点以将刷新令牌发送给客户端,以便客户端然后将刷新令发送到/oauth/token端点? 还是所有由/oauth/token端点处理的? 对于不同的赠款类型,/oauth/authorize>和/oauth/token之间的关系是否不同?如何? 解决方案 根据OAUTH 2.0规范,授权和令牌端点具有不同的目的. 授权端点是资源所有者(用户)登录并授予客户端的地方(例如:在浏览器中运行的Web应用程序或在移动设备上运行的应用程序).这通常用于将资源所有者的用户代理(例如:浏览器)重定向到身份服务器
12 2023-09-15
编程技术问答社区
Spring OAuth2-JWT令牌在服务器上工作,但在本地主机上不工作?
我看到myapp能够在服务器上正确处理oauth2 jwt令牌,但是它在localhost上给出了令牌转换错误. 我的流量如下 - 在服务器上,myapp在我们的 custom api-gateway 后面 获得访问令牌 - 通过Postman,我击中了API -GATEWAY令牌端点,这又称为Authserver令牌端点.我得到了Oauth JWT令牌作为响应. 所以,总结一下,邮递员 请求: - (CREDS) - > API-GATEWAY - (SAMECREDS) - > auth-server 响应: jwt token 接下来,我点击了myapp端点 - 再次通过Postman,我击中API -GATEWAY端点,这又命中了相应的myapp端点.我得到了所需的答复.对于此请求,在上API-Gateway之前,我将标题Authorization: Bearer JWT from step1 设置 作为myapp开发人员,我知道API-Gat
0 2023-09-15
编程技术问答社区
Spring Boot和Oauth2社交登录,无法刷新
有一个指南如何使用春季和春季靴我需要在数据库中存储oauth2信息,例如AccessToken,RefreshToken,以备将来使用.现在,我只能获得访问.我无法弄清楚如何根据本指南进行重新刷新. 使用本指南中描述的方法获得刷新的正确方法是什么? 更新 i在OAuth2ClientAuthenticationProcessingFilter.attemptAuthentication方法中可以访问refreshToken,但是只有accessToken被par到ResourceServerTokenServices.loadAuthentication方法. 现在,我不明白如何在Facebook成功授权并将其重新使用Facebook API调用后,基于此方法获取OAUTH2信息.请建议. 更新 我已将JdbcClientTokenServices添加到我的SSO过滤器中,但它不起作用 private Filter ssoFilter(Clien