Spring oauth2在authorization_Code之后保留用户凭据

问题描述 投票:-1回答:1

在我们的应用中,我们有以下流程:

  1. 第一个请求是grant_type authorization_code。
  2. 上述请求成功后,用户将被重定向到登录页面以输入凭据。
  3. 生成新令牌并且用户已登录。

现在,如果我们保持服务器并重复上述步骤,则用户不会被重定向到登录页面。而是采用在上面的迭代中输入的凭证并生成新令牌。春天似乎保留了用户数据。

有人可以帮助确定根本原因吗?我们必须手动使会话无效吗?怎么样?

此致,Smita

spring-security-oauth2
1个回答
0
投票

这是默认行为,它将使用户进行身份验证。

但如果你想改变它。您可以在Authorization Server Config中添加它

@Autowired
public void configureAuthorizationEndpoint(AuthorizationEndpoint authorizationEndpoint) {
    DefaultRedirectResolver redirectResolver = new DefaultRedirectResolver() {
        @Override
        public String resolveRedirect(String requestedRedirect, ClientDetails client) {
            SecurityContextHolder.clearContext();
            return super.resolveRedirect(requestedRedirect, client);
        }
    };
    redirectResolver.setMatchPorts(false);
    authorizationEndpoint.setRedirectResolver(redirectResolver);
}

在将authorization_code发送给依赖方之前,它基本上会重置身份验证。因此,如果添加此项,用户将始终重定向到每个请求的登录页面。

© www.soinside.com 2019 - 2024. All rights reserved.