Skip to content

Commit fe40cd6

Browse files
authored
Merge pull request #1535 from steve-community/1043-unable-to-authenticate-with-api
add authorization support to open-api and swagger-ui (#1043)
2 parents b11493d + 1347631 commit fe40cd6

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

src/main/java/de/rwth/idsg/steve/config/ApiDocsConfiguration.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,12 @@
2020

2121
import de.rwth.idsg.steve.SteveConfiguration;
2222
import de.rwth.idsg.steve.SteveProdCondition;
23+
import io.swagger.v3.oas.models.Components;
2324
import io.swagger.v3.oas.models.OpenAPI;
2425
import io.swagger.v3.oas.models.info.Info;
2526
import io.swagger.v3.oas.models.info.License;
27+
import io.swagger.v3.oas.models.security.SecurityRequirement;
28+
import io.swagger.v3.oas.models.security.SecurityScheme;
2629
import org.springdoc.core.configuration.SpringDocConfiguration;
2730
import org.springdoc.core.properties.SwaggerUiConfigProperties;
2831
import org.springdoc.core.properties.SwaggerUiOAuthProperties;
@@ -66,6 +69,13 @@ public class ApiDocsConfiguration {
6669
public OpenAPI apiDocs() {
6770
String title = "SteVe REST API Documentation";
6871

72+
String securityName = SteveConfiguration.CONFIG.getWebApi().getHeaderKey();
73+
74+
SecurityScheme securityScheme = new SecurityScheme()
75+
.type(SecurityScheme.Type.APIKEY)
76+
.in(SecurityScheme.In.HEADER)
77+
.name(securityName);
78+
6979
return new OpenAPI()
7080
.info(new Info()
7181
.title(title)
@@ -75,6 +85,10 @@ public OpenAPI apiDocs() {
7585
.url("https://github.com/steve-community/steve/blob/master/LICENSE.txt")
7686
)
7787
.version(SteveConfiguration.CONFIG.getSteveVersion())
78-
);
88+
)
89+
// define a security schema
90+
.components(new Components().addSecuritySchemes(securityName, securityScheme))
91+
// and activate it for all endpoints
92+
.addSecurityItem(new SecurityRequirement().addList(securityName));
7993
}
8094
}

0 commit comments

Comments
 (0)