Launcher/LaunchServer/src/main/java/ru/gravit/launchserver/auth/provider/NullAuthProvider.java

38 lines
1.0 KiB
Java

package ru.gravit.launchserver.auth.provider;
import java.io.IOException;
import java.util.Objects;
import ru.gravit.launcher.LauncherAPI;
import ru.gravit.launcher.helper.VerifyHelper;
import ru.gravit.launcher.serialize.config.entry.BlockConfigEntry;
public final class NullAuthProvider extends AuthProvider {
private volatile AuthProvider provider;
public NullAuthProvider(BlockConfigEntry block) {
super(block);
}
@Override
public AuthProviderResult auth(String login, String password, String ip) throws Exception {
return getProvider().auth(login, password, ip);
}
@Override
public void close() throws IOException {
AuthProvider provider = this.provider;
if (provider != null)
provider.close();
}
private AuthProvider getProvider() {
return VerifyHelper.verify(provider, Objects::nonNull, "Backend auth provider wasn't set");
}
@LauncherAPI
public void setBackend(AuthProvider provider) {
this.provider = provider;
}
}