From 78f9fed6e1db2054339c809e150eb4d9258735d2 Mon Sep 17 00:00:00 2001 From: Gravit Date: Wed, 26 Dec 2018 22:12:41 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20RequestAuthProvider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/provider/RequestAuthProvider.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/auth/provider/RequestAuthProvider.java b/LaunchServer/src/main/java/ru/gravit/launchserver/auth/provider/RequestAuthProvider.java index efe2305e..a0e5fb78 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/auth/provider/RequestAuthProvider.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/auth/provider/RequestAuthProvider.java @@ -12,15 +12,22 @@ public final class RequestAuthProvider extends AuthProvider { private String url; - private Pattern response; + private transient Pattern pattern; + private String response; private boolean usePermission; + @Override + public void init() + { + pattern = Pattern.compile(response); + } + @Override public AuthProviderResult auth(String login, String password, String ip) throws IOException { String currentResponse = IOHelper.request(new URL(getFormattedURL(login, password, ip))); // Match username - Matcher matcher = response.matcher(currentResponse); + Matcher matcher = pattern.matcher(currentResponse); return matcher.matches() && matcher.groupCount() >= 1 ? new AuthProviderResult(matcher.group("username"), SecurityHelper.randomStringToken(), usePermission ? new ClientPermissions(Long.getLong(matcher.group("permission"))) : new ClientPermissions()) : authError(currentResponse);