@@ -33,17 +33,13 @@ import za.co.absa.loginsvc.rest.model.{KerberosUserDetails, PublicKey, PublicKey
3333import za .co .absa .loginsvc .rest .service .jwt .JWTService
3434import za .co .absa .loginsvc .utils .OptionUtils .ImplicitBuilderExt
3535
36- import java .util .concurrent .CompletableFuture
3736import java .util .{Base64 , Optional }
38- import scala .concurrent .Future
39- import scala .concurrent .duration .FiniteDuration
4037
4138
4239@ RestController
4340@ RequestMapping (Array (" /token" ))
4441class TokenController @ Autowired ()(jwtService : JWTService , experimentalConfigProvider : ExperimentalRestConfigProvider ) {
4542
46- private lazy val refreshExpDuration : FiniteDuration = jwtService.getConfiguredRefreshExpDuration
4743 private lazy val experimentalRestConfig = experimentalConfigProvider.getExperimentalRestConfig
4844
4945 import za .co .absa .loginsvc .utils .implicits ._
@@ -74,7 +70,7 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
7470 @ ResponseStatus (HttpStatus .OK )
7571 @ SecurityRequirement (name = " basicAuth" )
7672 @ SecurityRequirement (name = " negotiate" )
77- def generateToken (authentication : Authentication , @ RequestParam (" group-prefixes" ) groupPrefixes : Optional [String ]): CompletableFuture [ TokensWrapper ] = {
73+ def generateToken (authentication : Authentication , @ RequestParam (" group-prefixes" ) groupPrefixes : Optional [String ]): TokensWrapper = {
7874
7975 val user : User = authentication.getPrincipal match {
8076 case u : User => u
@@ -90,7 +86,7 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
9086
9187 val accessJwt = jwtService.generateAccessToken(filteredGroupsUser)
9288 val refreshJwt = jwtService.generateRefreshToken(filteredGroupsUser)
93- Future .successful( TokensWrapper .fromTokens(accessJwt, refreshJwt) )
89+ TokensWrapper .fromTokens(accessJwt, refreshJwt)
9490 }
9591
9692 @ Tags (Array (new Tag (name = " token" )))
@@ -119,7 +115,7 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
119115 @ ResponseStatus (HttpStatus .OK )
120116 @ SecurityRequirement (name = " basicAuth" )
121117 @ SecurityRequirement (name = " negotiate" )
122- def generateTokenExperimentalGet (authentication : Authentication , @ RequestParam (" group-prefixes" ) groupPrefixes : Optional [String ]): CompletableFuture [ TokensWrapper ] = {
118+ def generateTokenExperimentalGet (authentication : Authentication , @ RequestParam (" group-prefixes" ) groupPrefixes : Optional [String ]): TokensWrapper = {
123119 failIfExperimentalIsNotAllowed()
124120
125121 val user : User = authentication.getPrincipal match {
@@ -136,7 +132,7 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
136132
137133 val accessJwt = jwtService.generateAccessToken(filteredGroupsUser)
138134 val refreshJwt = jwtService.generateRefreshToken(filteredGroupsUser)
139- Future .successful( TokensWrapper .fromTokens(accessJwt, refreshJwt) )
135+ TokensWrapper .fromTokens(accessJwt, refreshJwt)
140136 }
141137
142138 @ Tags (Array (new Tag (name = " token" )))
@@ -168,9 +164,9 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
168164 produces = Array (MediaType .APPLICATION_JSON_VALUE )
169165 )
170166 @ ResponseStatus (HttpStatus .OK )
171- def refreshToken (@ RequestBody tokens : TokensWrapper ): CompletableFuture [ TokensWrapper ] = {
167+ def refreshToken (@ RequestBody tokens : TokensWrapper ): TokensWrapper = {
172168 val (refreshedAccessToken, refreshedRefreshToken) = jwtService.refreshTokens(tokens.accessToken, tokens.refreshToken)
173- Future .successful( TokensWrapper .fromTokens(refreshedAccessToken, refreshedRefreshToken) )
169+ TokensWrapper .fromTokens(refreshedAccessToken, refreshedRefreshToken)
174170 }
175171
176172 @ Tags (Array (new Tag (name = " token" )))
@@ -191,10 +187,10 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
191187 produces = Array (MediaType .APPLICATION_JSON_VALUE )
192188 )
193189 @ ResponseStatus (HttpStatus .OK )
194- def getPublicKey (): CompletableFuture [ PublicKey ] = {
190+ def getPublicKey (): PublicKey = {
195191 val (publicKey, _) = jwtService.publicKeys
196192 val publicKeyBase64 = Base64 .getEncoder.encodeToString(publicKey.getEncoded)
197- Future .successful( PublicKey (publicKeyBase64) )
193+ PublicKey (publicKeyBase64)
198194 }
199195
200196 @ Tags (Array (new Tag (name = " token" )))
@@ -204,7 +200,7 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
204200 responses = Array (
205201 new ApiResponse (responseCode = " 200" , description = " Payload containing current and previous public keys is returned" ,
206202 content = Array (new Content (
207- schema = new Schema (implementation = classOf [PublicKey ]),
203+ schema = new Schema (implementation = classOf [PublicKeySet ]),
208204 examples = Array (new ExampleObject (value = " {\n \" keys\" : [\n {\n \" key\" : \" ABCDEFGH1234\"\n }\n ]\n }" )))
209205 )
210206 )
@@ -215,12 +211,12 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
215211 produces = Array (MediaType .APPLICATION_JSON_VALUE )
216212 )
217213 @ ResponseStatus (HttpStatus .OK )
218- def getAllPublicKeys (): CompletableFuture [ PublicKeySet ] = {
214+ def getAllPublicKeys (): PublicKeySet = {
219215 val (primaryPublicKey, optionalPublicKey) = jwtService.publicKeys
220216 val currentPublicKey = PublicKey (Base64 .getEncoder.encodeToString(primaryPublicKey.getEncoded))
221217 val previousPublicKey = optionalPublicKey.map(pk =>
222218 PublicKey (Base64 .getEncoder.encodeToString(pk.getEncoded)))
223- Future .successful( PublicKeySet (keys = currentPublicKey :: previousPublicKey.toList) )
219+ PublicKeySet (keys = currentPublicKey :: previousPublicKey.toList)
224220 }
225221
226222 @ Tags (Array (new Tag (name = " token" )))
@@ -235,11 +231,11 @@ class TokenController @Autowired()(jwtService: JWTService, experimentalConfigPro
235231 produces = Array (MediaType .APPLICATION_JSON_VALUE )
236232 )
237233 @ ResponseStatus (HttpStatus .OK )
238- def getPublicKeyJwks (): CompletableFuture [ Map [String , AnyRef ] ] = {
234+ def getPublicKeyJwks (): Map [String , AnyRef ] = {
239235 val jwk = jwtService.jwks
240236
241237 import scala .collection .JavaConverters ._
242- Future .successful( jwk.toJSONObject(true ).asScala.toMap)
238+ jwk.toJSONObject(true ).asScala.toMap
243239 }
244240
245241 private def failIfExperimentalIsNotAllowed (): Unit = {
0 commit comments