update to support 1.1.1-dev

This commit is contained in:
muhammadeko 2022-05-11 23:29:35 +07:00
parent 1a7305adf6
commit 2675177800
No known key found for this signature in database
GPG Key ID: 51366716C10E98B1
4 changed files with 16 additions and 8 deletions

View File

@ -10,14 +10,14 @@ sourceCompatibility = 17
targetCompatibility = 17
group 'me.exzork.gcauth'
version '2.1.3'
version '2.1.4'
repositories {
mavenCentral()
}
dependencies {
implementation files('lib/grasscutter-1.0.3-dev.jar')
implementation files('lib/grasscutter-1.1.1-dev.jar')
implementation 'org.springframework.security:spring-security-crypto:5.6.3'
implementation 'commons-logging:commons-logging:1.2'
implementation 'com.auth0:java-jwt:3.19.1'

View File

@ -1,5 +1,8 @@
package me.exzork.gcauth;
import me.exzork.gcauth.utils.Authentication;
public final class Config {
public String Hash = "BCRYPT";
public String jwtSecret = Authentication.generateRandomString(32);
}

View File

@ -3,9 +3,9 @@ package me.exzork.gcauth;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.net.proto.QueryCurrRegionHttpRspOuterClass;
import emu.grasscutter.plugin.Plugin;
import me.exzork.gcauth.handler.*;
import me.exzork.gcauth.utils.Authentication;
import java.io.File;
import java.io.FileReader;
@ -32,8 +32,9 @@ public class GCAuth extends Plugin {
loadConfig();
if(Grasscutter.getDispatchServer().registerAuthHandler(new GCAuthAuthenticationHandler())) {
Grasscutter.getLogger().info("[GCAuth] GCAuth Enabled!");
if(Grasscutter.getConfig().getDispatchOptions().AutomaticallyCreateAccounts) {
config.jwtSecret = Authentication.generateRandomString(32);
saveConfig();
if(Grasscutter.getConfig().account.autoCreate) {
Grasscutter.getLogger().warn("[GCAuth] GCAuth does not support automatic account creation. Please disable in the server's config.json or just ignore this warning.");
}
} else {
@ -65,5 +66,6 @@ public class GCAuth extends Plugin {
Grasscutter.getLogger().error("[GCAuth] Unable to save config file.");
}
}
public static Config getConfig() {return config;}
public static Config getConfigStatic() {return config;}
public Config getConfig() {return config;}
}

View File

@ -13,6 +13,9 @@ import java.util.HashMap;
public final class Authentication {
public static final HashMap<String,String> tokens = new HashMap<String,String>();
private static Algorithm key = Algorithm.HMAC256(generateRandomString(32));
public static Algorithm getKey() {
return key;
}
public static Account getAccountByUsernameAndPassword(String username, String password) {
Account account = DatabaseHelper.getAccountByName(username);
@ -55,7 +58,7 @@ public final class Authentication {
}
public static String generateHash(String password) {
return switch (GCAuth.getConfig().Hash.toLowerCase()) {
return switch (GCAuth.getConfigStatic().Hash.toLowerCase()) {
case "bcrypt" -> new BCryptPasswordEncoder().encode(password);
case "scrypt" -> new SCryptPasswordEncoder().encode(password);
default -> password;
@ -63,7 +66,7 @@ public final class Authentication {
}
private static boolean verifyPassword(String password, String hash) {
return switch (GCAuth.getConfig().Hash.toLowerCase()) {
return switch (GCAuth.getConfigStatic().Hash.toLowerCase()) {
case "bcrypt" -> new BCryptPasswordEncoder().matches(password, hash);
case "scrypt" -> new SCryptPasswordEncoder().matches(password, hash);
default -> password.equals(hash);