@@ -206,13 +206,14 @@ void registerAutoSecurityFilter(BuildProducer<SyntheticBeanBuildItem> syntheticB
206206 SmallRyeOpenApiConfig openApiConfig ,
207207 OpenApiFilteredIndexViewBuildItem apiFilteredIndexViewBuildItem ,
208208 List <SecurityInformationBuildItem > securityInformationBuildItems ,
209- OpenApiRecorder recorder ) {
209+ OpenApiRecorder recorder ,
210+ LaunchModeBuildItem launchMode ) {
210211 AutoSecurityFilter autoSecurityFilter = null ;
211212
212- if (openApiConfig . autoAddSecurity ( )) {
213+ if (securityConfig ( launchMode , openApiConfig :: autoAddSecurity )) {
213214 autoSecurityFilter = getAutoSecurityFilter (securityInformationBuildItems , openApiConfig )
214215 .filter (securityFilter -> autoSecurityRuntimeEnabled (securityFilter ,
215- () -> hasAutoEndpointSecurity (apiFilteredIndexViewBuildItem , openApiConfig )))
216+ () -> hasAutoEndpointSecurity (apiFilteredIndexViewBuildItem , launchMode , openApiConfig )))
216217 .orElse (null );
217218 }
218219
@@ -339,6 +340,21 @@ void handler(LaunchModeBuildItem launch,
339340 }
340341 }
341342
343+ private boolean securityConfig (
344+ LaunchModeBuildItem launchMode ,
345+ Supplier <Boolean > securitySetting ) {
346+
347+ if (launchMode .getLaunchMode ().equals (LaunchMode .DEVELOPMENT )) {
348+ Config config = ConfigProvider .getConfig ();
349+ boolean authEnabled = config .getValue ("quarkus.security.auth.enabled-in-dev-mode" , Boolean .class );
350+ if (authEnabled )
351+ return securitySetting .get ();
352+ return false ;
353+ } else {
354+ return securitySetting .get ();
355+ }
356+ }
357+
342358 private String getManagementRoot (LaunchModeBuildItem launch ,
343359 NonApplicationRootPathBuildItem nonApplicationRootPathBuildItem ,
344360 SmallRyeOpenApiConfig openApiConfig ,
@@ -399,14 +415,14 @@ void addAutoFilters(BuildProducer<AddToOpenAPIDefinitionBuildItem> addToOpenAPID
399415 addToOpenAPIDefinitionProducer
400416 .produce (new AddToOpenAPIDefinitionBuildItem (
401417 new SecurityConfigFilter (config )));
402- } else if (config . autoAddSecurity ( )) {
418+ } else if (securityConfig ( launchModeBuildItem , config :: autoAddSecurity )) {
403419 getAutoSecurityFilter (securityInformationBuildItems , config )
404420 .map (AddToOpenAPIDefinitionBuildItem ::new )
405421 .ifPresent (addToOpenAPIDefinitionProducer ::produce );
406422 }
407423
408424 // Add operation filter to add tags/descriptions/security requirements
409- OASFilter operationFilter = getOperationFilter (apiFilteredIndexViewBuildItem , config );
425+ OASFilter operationFilter = getOperationFilter (apiFilteredIndexViewBuildItem , launchModeBuildItem , config );
410426
411427 if (operationFilter != null ) {
412428 addToOpenAPIDefinitionProducer .produce (new AddToOpenAPIDefinitionBuildItem (operationFilter ));
@@ -517,9 +533,10 @@ private Optional<AutoSecurityFilter> getAutoSecurityFilter(List<SecurityInformat
517533
518534 private boolean hasAutoEndpointSecurity (
519535 OpenApiFilteredIndexViewBuildItem indexViewBuildItem ,
536+ LaunchModeBuildItem launchMode ,
520537 SmallRyeOpenApiConfig config ) {
521538
522- if (config . autoAddSecurityRequirement ( )) {
539+ if (securityConfig ( launchMode , config :: autoAddSecurityRequirement )) {
523540 Map <String , List <String >> rolesAllowedMethods = Collections .emptyMap ();
524541 List <String > authenticatedMethods = Collections .emptyList ();
525542
@@ -538,6 +555,7 @@ private boolean hasAutoEndpointSecurity(
538555 }
539556
540557 private OASFilter getOperationFilter (OpenApiFilteredIndexViewBuildItem indexViewBuildItem ,
558+ LaunchModeBuildItem launchMode ,
541559 SmallRyeOpenApiConfig config ) {
542560
543561 Map <String , ClassAndMethod > classNamesMethods = Collections .emptyMap ();
@@ -548,7 +566,7 @@ private OASFilter getOperationFilter(OpenApiFilteredIndexViewBuildItem indexView
548566 classNamesMethods = getClassNamesMethodReferences (indexViewBuildItem );
549567 }
550568
551- if (config . autoAddSecurityRequirement ( )) {
569+ if (securityConfig ( launchMode , config :: autoAddSecurityRequirement )) {
552570 rolesAllowedMethods = getRolesAllowedMethodReferences (indexViewBuildItem );
553571
554572 for (String methodRef : getPermissionsAllowedMethodReferences (indexViewBuildItem )) {
0 commit comments