Sa-Token icon indicating copy to clipboard operation
Sa-Token copied to clipboard

oauth模块 oidc 在application.yml 中 sa-token.oauth2-server.oidc 项的值不会生效

Open mocha666 opened this issue 1 year ago • 2 comments

使用版本:

sa-token 1.39.0

在application.yml 中 sa-token.oauth2-server.oidc 项的值不会生效

配置中的 image

实际解析 id_token 得到的载荷 image

预期结果:

容器化的 一个账户自有中心中运行,环境下 前方还有waf 与代理 ,

发现自动获取的iss网址 是协议头与 这里获取的iss不一致,这里直接获取的 iss 与像是在服务中所获取的一个iss , 与实际客户端上获取的 iss 不一致 导致异常,我尝试在 配置文件 sa-token.oauth2-server.oidc 项中添加 iss 以固定 iss, 但实际是没有生效

mocha666 avatar Sep 16 '24 06:09 mocha666

应该是源码bug了,你暂时可以通过重写 OIDC 的 Scope 处理器,然后重写 getIss 方法,下个版本我们将修复此问题

@Component
public class CustomOidcScopeHandler extends OidcScopeHandler {

    @Override
    public String getIss() {
        // 返回配置的 iss 值
        return SaOAuth2Manager.getServerConfig().getOidc().getIss();
    }

}

click33 avatar Sep 16 '24 16:09 click33

应该是源码bug了,你暂时可以通过重写 OIDC 的 Scope 处理器,然后重写 getIss 方法,下个版本我们将修复此问题

@Component
public class CustomOidcScopeHandler extends OidcScopeHandler {

    @Override
    public String getIss() {
        // 返回配置的 iss 值
        return SaOAuth2Manager.getServerConfig().getOidc().getIss();
    }

}

收到 已经通过重写该项进行恢复,后续更新的话 这边在进行尝试 新的版本

mocha666 avatar Oct 11 '24 05:10 mocha666