1111import org .springframework .context .annotation .Configuration ;
1212import org .springframework .web .filter .ForwardedHeaderFilter ;
1313
14+ import static invite .security .SecurityConfig .API_KEY_HEADER ;
1415import static invite .security .SecurityConfig .API_TOKEN_HEADER ;
1516
1617@ Configuration
@@ -20,6 +21,7 @@ public class SwaggerOpenIdConfig {
2021 public static final String OPEN_ID_SCHEME_NAME = "openId" ;
2122 public static final String API_TOKENS_SCHEME_NAME = "apiTokens" ;
2223 public static final String BASIC_AUTHENTICATION_SCHEME_NAME = "basic_auth" ;
24+ public static final String API_HEADER_SCHEME_NAME = "apiHeaders" ;
2325
2426 @ Bean
2527 OpenAPI customOpenApi (@ Value ("${spring.security.oauth2.client.provider.oidcng.authorization-uri}" ) String authorizationUrl ,
@@ -39,13 +41,19 @@ OpenAPI customOpenApi(@Value("${spring.security.oauth2.client.provider.oidcng.au
3941 .in (SecurityScheme .In .HEADER )
4042 .name (API_TOKEN_HEADER );
4143
44+ SecurityScheme apiHeaderSecurityScheme = new SecurityScheme ()
45+ .type (SecurityScheme .Type .APIKEY )
46+ .in (SecurityScheme .In .HEADER )
47+ .name (API_KEY_HEADER );
48+
4249 SecurityScheme basicAuthentication = new SecurityScheme ()
4350 .type (SecurityScheme .Type .HTTP )
4451 .scheme ("basic" );
4552
4653 Components components = new Components ()
4754 .addSecuritySchemes (OPEN_ID_SCHEME_NAME , openIdSecuritySchema )
4855 .addSecuritySchemes (API_TOKENS_SCHEME_NAME , apiTokensSecurityScheme )
56+ .addSecuritySchemes (API_HEADER_SCHEME_NAME , apiHeaderSecurityScheme )
4957 .addSecuritySchemes (BASIC_AUTHENTICATION_SCHEME_NAME , basicAuthentication );
5058
5159 OpenAPI openAPI = new OpenAPI ()
@@ -59,6 +67,7 @@ OpenAPI customOpenApi(@Value("${spring.security.oauth2.client.provider.oidcng.au
5967 openAPI .components (components )
6068 .addSecurityItem (new SecurityRequirement ().addList (OPEN_ID_SCHEME_NAME ))
6169 .addSecurityItem (new SecurityRequirement ().addList (API_TOKENS_SCHEME_NAME ))
70+ .addSecurityItem (new SecurityRequirement ().addList (API_HEADER_SCHEME_NAME ))
6271 .addSecurityItem (new SecurityRequirement ().addList (BASIC_AUTHENTICATION_SCHEME_NAME ));
6372 return openAPI ;
6473 }
0 commit comments