Merge pull request #1 from GravitLauncher/master

Fixed
This commit is contained in:
sanik2021 2018-12-26 21:20:56 +03:00 committed by GitHub
commit 935ecfbeec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 3 deletions

View file

@ -553,7 +553,7 @@ private void generateConfigIfNotExists() throws IOException {
newConfig.authProvider = new AuthProvider[]{new RejectAuthProvider("Настройте authProvider")};
newConfig.textureProvider = new RequestTextureProvider("http://example.com/skins/%username%.png","http://example.com/cloaks/%username%.png");
newConfig.permissionsHandler = new JsonFilePermissionsHandler();
newConfig.port = 7420;
newConfig.port = 7240;
newConfig.bindAddress = "0.0.0.0";
newConfig.authRejectString = "Превышен лимит авторизаций";
newConfig.binaryName = "Launcher";

View file

@ -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);