Skip to content

Commit 49882e2

Browse files
committed
swagger ui jwt config
1 parent 434cde0 commit 49882e2

File tree

7 files changed

+71
-58
lines changed

7 files changed

+71
-58
lines changed
Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
package com.safalifter.authservice.config;
22

3-
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
4-
import io.swagger.v3.oas.annotations.security.SecurityScheme;
3+
import io.swagger.v3.oas.models.Components;
54
import io.swagger.v3.oas.models.OpenAPI;
65
import io.swagger.v3.oas.models.info.Info;
76
import io.swagger.v3.oas.models.info.License;
7+
import io.swagger.v3.oas.models.security.SecurityRequirement;
8+
import io.swagger.v3.oas.models.security.SecurityScheme;
89
import org.springframework.beans.factory.annotation.Value;
910
import org.springframework.context.annotation.Bean;
1011
import org.springframework.context.annotation.Configuration;
1112

1213
@Configuration
13-
@SecurityScheme(
14-
name = "Bearer Authentication",
15-
type = SecuritySchemeType.HTTP,
16-
bearerFormat = "JWT",
17-
scheme = "bearer")
1814
public class OpenApiConfig {
1915
@Bean
20-
public OpenAPI customOpenAPI(@Value("${application-description}") String description,
21-
@Value("${application-version}") String version,
22-
@Value("${application-license}") String license,
23-
@Value("${application-title}") String title) {
24-
return new OpenAPI()
25-
.info(new Info().title(title)
16+
public OpenAPI openAPI(@Value("${application-title}") String title,
17+
@Value("${application-description}") String description,
18+
@Value("${application-version}") String version,
19+
@Value("${application-license}") String license) {
20+
return new OpenAPI().addSecurityItem(new SecurityRequirement()
21+
.addList("Bearer Authentication"))
22+
.components(new Components().addSecuritySchemes
23+
("Bearer Authentication", createAPIKeyScheme()))
24+
.info(new Info()
25+
.title(title)
2626
.description(description)
27-
.license(new License().name(license))
28-
.version(version));
27+
.version(version)
28+
.license(new License().name(license)));
2929
}
30-
}
30+
31+
private SecurityScheme createAPIKeyScheme() {
32+
return new SecurityScheme().type(SecurityScheme.Type.HTTP)
33+
.bearerFormat("JWT")
34+
.scheme("bearer");
35+
}
36+
}

auth-service/src/main/resources/application.properties

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
server.port=0
22

3-
application-description=Its Done UK Application
4-
application-license=API Licence
5-
application-version=1.0
63
application-title=Auth Service
74

85
spring.application.name=auth-service

config/application.properties

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,8 @@ spring.datasource.username=${POSTGRES_USER:postgres}
55
spring.datasource.password=${POSTGRES_PASSWORD:55}
66

77
eureka.instance.prefer-ip-address=true
8-
eureka.client.service-url.default-zone=${EUREKA_URI:http://localhost:8761/eureka}
8+
eureka.client.service-url.default-zone=${EUREKA_URI:http://localhost:8761/eureka}
9+
10+
application-description=Its Done UK Application
11+
application-license=API Licence
12+
application-version=1.0
Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
package com.safalifter.jobservice.config;
22

3-
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
4-
import io.swagger.v3.oas.annotations.security.SecurityScheme;
3+
import io.swagger.v3.oas.models.Components;
54
import io.swagger.v3.oas.models.OpenAPI;
65
import io.swagger.v3.oas.models.info.Info;
76
import io.swagger.v3.oas.models.info.License;
7+
import io.swagger.v3.oas.models.security.SecurityRequirement;
8+
import io.swagger.v3.oas.models.security.SecurityScheme;
89
import org.springframework.beans.factory.annotation.Value;
910
import org.springframework.context.annotation.Bean;
1011
import org.springframework.context.annotation.Configuration;
1112

1213
@Configuration
13-
@SecurityScheme(
14-
name = "Bearer Authentication",
15-
type = SecuritySchemeType.HTTP,
16-
bearerFormat = "JWT",
17-
scheme = "bearer")
1814
public class OpenApiConfig {
1915
@Bean
20-
public OpenAPI customOpenAPI(@Value("${application-description}") String description,
21-
@Value("${application-version}") String version,
22-
@Value("${application-license}") String license,
23-
@Value("${application-title}") String title) {
24-
return new OpenAPI()
25-
.info(new Info().title(title)
16+
public OpenAPI openAPI(@Value("${application-title}") String title,
17+
@Value("${application-description}") String description,
18+
@Value("${application-version}") String version,
19+
@Value("${application-license}") String license) {
20+
return new OpenAPI().addSecurityItem(new SecurityRequirement()
21+
.addList("Bearer Authentication"))
22+
.components(new Components().addSecuritySchemes
23+
("Bearer Authentication", createAPIKeyScheme()))
24+
.info(new Info()
25+
.title(title)
2626
.description(description)
27-
.license(new License().name(license))
28-
.version(version));
27+
.version(version)
28+
.license(new License().name(license)));
2929
}
30-
}
30+
31+
private SecurityScheme createAPIKeyScheme() {
32+
return new SecurityScheme().type(SecurityScheme.Type.HTTP)
33+
.bearerFormat("JWT")
34+
.scheme("bearer");
35+
}
36+
}

job-service/src/main/resources/application.properties

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
server.port=0
22

3-
application-description=Its Done UK Application
4-
application-license=API Licence
5-
application-version=1.0
63
application-title=Job Service
74

85
spring.application.name=job-service
Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
package com.safalifter.userservice.config;
22

3-
import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
4-
import io.swagger.v3.oas.annotations.security.SecurityScheme;
3+
import io.swagger.v3.oas.models.Components;
54
import io.swagger.v3.oas.models.OpenAPI;
65
import io.swagger.v3.oas.models.info.Info;
76
import io.swagger.v3.oas.models.info.License;
7+
import io.swagger.v3.oas.models.security.SecurityRequirement;
8+
import io.swagger.v3.oas.models.security.SecurityScheme;
89
import org.springframework.beans.factory.annotation.Value;
910
import org.springframework.context.annotation.Bean;
1011
import org.springframework.context.annotation.Configuration;
1112

1213
@Configuration
13-
@SecurityScheme(
14-
name = "Bearer Authentication",
15-
type = SecuritySchemeType.HTTP,
16-
bearerFormat = "JWT",
17-
scheme = "bearer")
1814
public class OpenApiConfig {
1915
@Bean
20-
public OpenAPI customOpenAPI(@Value("${application-description}") String description,
21-
@Value("${application-version}") String version,
22-
@Value("${application-license}") String license,
23-
@Value("${application-title}") String title) {
24-
return new OpenAPI()
25-
.info(new Info().title(title)
16+
public OpenAPI openAPI(@Value("${application-title}") String title,
17+
@Value("${application-description}") String description,
18+
@Value("${application-version}") String version,
19+
@Value("${application-license}") String license) {
20+
return new OpenAPI().addSecurityItem(new SecurityRequirement()
21+
.addList("Bearer Authentication"))
22+
.components(new Components().addSecuritySchemes
23+
("Bearer Authentication", createAPIKeyScheme()))
24+
.info(new Info()
25+
.title(title)
2626
.description(description)
27-
.license(new License().name(license))
28-
.version(version));
27+
.version(version)
28+
.license(new License().name(license)));
2929
}
30-
}
30+
31+
private SecurityScheme createAPIKeyScheme() {
32+
return new SecurityScheme().type(SecurityScheme.Type.HTTP)
33+
.bearerFormat("JWT")
34+
.scheme("bearer");
35+
}
36+
}

user-service/src/main/resources/application.properties

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ server.port=0
22

33
spring.application.name=user-service
44

5-
application-description=Its Done UK Application
6-
application-license=API Licence
7-
application-version=1.0
85
application-title=User Service
96

107
spring.config.import=configserver:http://localhost:8888/

0 commit comments

Comments
 (0)