fix: Respond with JSON when returning token

This commit is contained in:
oSumAtrIX 2024-09-27 20:19:27 +02:00
parent 977d252497
commit 1e3e46ff4f
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4
3 changed files with 12 additions and 9 deletions

View File

@ -6,10 +6,7 @@ import app.revanced.api.configuration.installNoCache
import app.revanced.api.configuration.installNotarizedRoute
import app.revanced.api.configuration.repository.ConfigurationRepository
import app.revanced.api.configuration.respondOrNotFound
import app.revanced.api.configuration.schema.APIAbout
import app.revanced.api.configuration.schema.APIContributable
import app.revanced.api.configuration.schema.APIMember
import app.revanced.api.configuration.schema.APIRateLimit
import app.revanced.api.configuration.schema.*
import app.revanced.api.configuration.services.ApiService
import app.revanced.api.configuration.services.AuthenticationService
import io.bkbn.kompendium.core.metadata.*
@ -198,7 +195,7 @@ private fun Route.installTokenRouteDocumentation() = installNotarizedRoute {
description("The authorization token")
mediaTypes("application/json")
responseCode(HttpStatusCode.OK)
responseType<String>()
responseType<APIToken>()
}
canRespondUnauthorized()
}

View File

@ -172,3 +172,6 @@ class APIAbout(
val links: List<Link>?,
)
}
@Serializable
class APIToken(val token: String)

View File

@ -1,5 +1,6 @@
package app.revanced.api.configuration.services
import app.revanced.api.configuration.schema.APIToken
import com.auth0.jwt.JWT
import com.auth0.jwt.algorithms.Algorithm
import io.ktor.server.auth.*
@ -41,8 +42,10 @@ internal class AuthenticationService private constructor(
}
}
fun newToken(): String = JWT.create()
.withIssuer(issuer)
.withExpiresAt(Instant.now().plus(validityInMin, ChronoUnit.MINUTES))
.sign(Algorithm.HMAC256(jwtSecret))
fun newToken() = APIToken(
JWT.create()
.withIssuer(issuer)
.withExpiresAt(Instant.now().plus(validityInMin, ChronoUnit.MINUTES))
.sign(Algorithm.HMAC256(jwtSecret)),
)
}