feat(redis): migrate from Redisson to Quarkus Redis client and update configuration
This commit is contained in:
@@ -12,12 +12,16 @@ import scala.compiletime.uninitialized
|
||||
@ApplicationScoped
|
||||
class InternalAuthFilter extends ContainerRequestFilter:
|
||||
|
||||
@ConfigProperty(name = "nowchess.internal.secret")
|
||||
@ConfigProperty(name = "nowchess.internal.secret", defaultValue = "")
|
||||
// scalafix:off DisableSyntax.var
|
||||
var secret: String = uninitialized
|
||||
|
||||
@ConfigProperty(name = "nowchess.internal.auth.enabled", defaultValue = "true")
|
||||
var authEnabled: Boolean = uninitialized
|
||||
// scalafix:on DisableSyntax.var
|
||||
|
||||
override def filter(ctx: ContainerRequestContext): Unit =
|
||||
val header = ctx.getHeaderString("X-Internal-Secret")
|
||||
if header == null || header != secret then
|
||||
ctx.abortWith(Response.status(Response.Status.UNAUTHORIZED).build())
|
||||
if authEnabled then
|
||||
val header = ctx.getHeaderString("X-Internal-Secret")
|
||||
if header == null || header != secret then
|
||||
ctx.abortWith(Response.status(Response.Status.UNAUTHORIZED).build())
|
||||
|
||||
+5
-2
@@ -12,9 +12,12 @@ class InternalGrpcAuthInterceptor extends ServerInterceptor:
|
||||
|
||||
private val secretKey = Metadata.Key.of("x-internal-secret", Metadata.ASCII_STRING_MARSHALLER)
|
||||
|
||||
@ConfigProperty(name = "nowchess.internal.secret")
|
||||
@ConfigProperty(name = "nowchess.internal.secret", defaultValue = "")
|
||||
// scalafix:off DisableSyntax.var
|
||||
var secret: String = uninitialized
|
||||
|
||||
@ConfigProperty(name = "nowchess.internal.auth.enabled", defaultValue = "true")
|
||||
var authEnabled: Boolean = uninitialized
|
||||
// scalafix:on DisableSyntax.var
|
||||
|
||||
override def interceptCall[Req, Resp](
|
||||
@@ -23,7 +26,7 @@ class InternalGrpcAuthInterceptor extends ServerInterceptor:
|
||||
next: ServerCallHandler[Req, Resp],
|
||||
): ServerCall.Listener[Req] =
|
||||
val token = Option(headers.get(secretKey)).getOrElse("")
|
||||
if token != secret then
|
||||
if authEnabled && token != secret then
|
||||
call.close(Status.UNAUTHENTICATED.withDescription("Missing or invalid internal secret"), new Metadata())
|
||||
new ServerCall.Listener[Req] {}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user