From 538db6975480b8ee1d3b3ebe5bda99537b4e9ee5 Mon Sep 17 00:00:00 2001 From: WhiteChi Date: Tue, 19 Dec 2023 22:09:23 +0800 Subject: [PATCH] `Shamrock`: fix #159 --- .../java/moe/fuqiuluo/shamrock/remote/plugin/Auth.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/plugin/Auth.kt b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/plugin/Auth.kt index e0f396a..305add4 100644 --- a/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/plugin/Auth.kt +++ b/xposed/src/main/java/moe/fuqiuluo/shamrock/remote/plugin/Auth.kt @@ -5,6 +5,7 @@ import moe.fuqiuluo.shamrock.helper.ErrorTokenException import io.ktor.server.application.createApplicationPlugin import moe.fuqiuluo.shamrock.remote.service.config.ShamrockConfig import moe.fuqiuluo.shamrock.tools.fetchOrNull +import java.net.URLDecoder private suspend fun ApplicationCall.checkToken() { val token = ShamrockConfig.getToken() @@ -12,8 +13,12 @@ private suspend fun ApplicationCall.checkToken() { return } var accessToken = request.headers["Authorization"] - ?: fetchOrNull("ticket") - ?: fetchOrNull("access_token") + ?: fetchOrNull("ticket")?.let { + URLDecoder.decode(it, "UTF-8") + } + ?: fetchOrNull("access_token")?.let { + URLDecoder.decode(it, "UTF-8") + } ?: throw ErrorTokenException if (accessToken.startsWith("Bearer ", ignoreCase = true)) { accessToken = accessToken.substring(7)