用于测试环境的假 Firebase 身份验证令牌

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

我有一个 Firebase 帐户,基本上仅用于身份验证。它在 Spring Boot 内运行,仅使用 OAuth2Resource 验证它们。 在生产环境中,用户必须验证其电子邮件地址并启用 TOTP 验证。 但为了测试,我想只需按一下按钮即可创建虚假的随机配置文件。 我不确定如何具体实现这一点,但我正在考虑要么禁用令牌上的签名验证(允许我自己简单地添加任何声明),要么找到某种方法来创建一个嵌入式 JWT 权限来替换 firebase(但随后您将无法在测试中测试登录流程)。但没有关于如何在任何地方执行其中任何一项(或其他任何操作)的信息。那么如何在我的测试环境中创建假 JWT 或登录?

spring-boot oauth-2.0 firebase-authentication
1个回答
0
投票

我假设你正在使用

oauth2ResourceServer
依赖。

只需使用自定义的authenticationMANager为该测试配置文件定义一个SecurityFilterChain bean:

@Profile("test")
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http

                .oauth2ResourceServer(c -> c
                        .jwt(jwt -> jwt
                                .authenticationManager(authentication -> new UsernamePasswordAuthenticationToken("some principal", "", List.of())))
                )
                .build();
    }
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.