当前位置: 首页 > 知识库问答 >
问题:

Spring Boot OAuth2 OAuth2Authentication vs

姜俊友
2023-03-14

我有一个问题,从REST控制器得到一个正确的响应,这是用来发送用户详细信息回来。使用Spring Boot 1.5.10。以下是设置:

  1. OAuth2项目用作身份验证和授权endpoint
  2. 连接到服务器进行身份验证和授权的微服务

OAuth服务器使用WebSecurityConfigurerAdapter(订单2)、ResourceServerConfigurerAdapter(保护OAuth以外的api)、AuthorizationServerConfigurerAdapter(OAuth配置)和GlobalAuthenticationConfigurerAdapter(ldap vs database auth)。

我有一个资源/api/v1/me,用于在OAuth服务器和微服务中返回主体/身份验证对象。微服务的行为是正确的,并返回OAuth2Authentication,如果存在适当的承载令牌,则返回401(令牌可以从OAuth服务器获得)。

另一方面,OAuth服务器给了我一些问题。只有当我首先请求令牌(建立一个JSession)时,它才返回/me响应,如果没有,则将我转发到登录页面。(我正在使用authorization_code grant和Thymeleaf)。在本例中,我得到UsernamePasswordAuthenticationToken。

是否可以将服务器配置为使用承载进行身份验证/me并返回OAuth2Authentication或401,而不是在OAuth服务器上的Java会话,我只需要通过用户名auth获得令牌?

谢谢

共有1个答案

谭泳
2023-03-14

哦,伙计,在我发了我的问题后,经过一天的搜索,我发现了一个线索(在这里)。关键在于http的配置方式,在此之前,我将antMatchers与permitAll一起包含在不想进行身份验证的内容中,而实际上我需要进行身份验证。requestMatchers().antMatchers只包含我感兴趣的资源+“/login”,“/oauth/authorize”在web适配器中。资源适配器应该拾取其余部分。

 类似资料:

相关问答

相关文章

相关阅读