http-service: add session check call to check session validity
This commit is contained in:
@@ -99,4 +99,28 @@ public class AccountClient
|
|||||||
logger.debug("Sent logout request");
|
logger.debug("Sent logout request");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean sesssionCheck()
|
||||||
|
{
|
||||||
|
HttpUrl url = RuneliteAPI.getApiBase().newBuilder()
|
||||||
|
.addPathSegment("account")
|
||||||
|
.addPathSegment("session-check")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
logger.debug("Built URI: {}", url);
|
||||||
|
|
||||||
|
Request request = new Request.Builder()
|
||||||
|
.header(RuneliteAPI.RUNELITE_AUTH, uuid.toString())
|
||||||
|
.url(url)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
try (Response response = RuneliteAPI.CLIENT.newCall(request).execute())
|
||||||
|
{
|
||||||
|
return response.isSuccessful();
|
||||||
|
}
|
||||||
|
catch (IOException ex)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,6 +92,9 @@ public class Service implements SparkApplication
|
|||||||
|
|
||||||
before("/logout", authFilter);
|
before("/logout", authFilter);
|
||||||
get("/logout", accounts::logout);
|
get("/logout", accounts::logout);
|
||||||
|
|
||||||
|
before("/session-check", authFilter);
|
||||||
|
get("/session-check", accounts::sessionCheck);
|
||||||
});
|
});
|
||||||
before("/config", authFilter);
|
before("/config", authFilter);
|
||||||
path("/config", () ->
|
path("/config", () ->
|
||||||
|
|||||||
@@ -249,4 +249,10 @@ public class AccountService
|
|||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object sessionCheck(Request request, Response response)
|
||||||
|
{
|
||||||
|
// Auth filter would kick this out before here
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user