Implement proper handbook authentication (pt. 1)

This commit is contained in:
KingRainbow44
2023-05-16 02:38:01 -04:00
parent 79d417c3ca
commit f1cf6da178
28 changed files with 1019 additions and 53 deletions

View File

@@ -1,14 +1,14 @@
package emu.grasscutter.auth;
import static emu.grasscutter.config.Configuration.ACCOUNT;
import static emu.grasscutter.utils.Language.translate;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.auth.DefaultAuthenticators.*;
import emu.grasscutter.game.Account;
import emu.grasscutter.server.http.objects.ComboTokenResJson;
import emu.grasscutter.server.http.objects.LoginResultJson;
import static emu.grasscutter.config.Configuration.ACCOUNT;
import static emu.grasscutter.utils.Language.translate;
/**
* The default Grasscutter authentication implementation. Allows all users to access any account.
*/
@@ -20,6 +20,7 @@ public final class DefaultAuthentication implements AuthenticationSystem {
private final Authenticator<Account> sessionTokenValidator = new SessionTokenValidator();
private final ExternalAuthenticator externalAuthenticator = new ExternalAuthentication();
private final OAuthAuthenticator oAuthAuthenticator = new OAuthAuthentication();
private final HandbookAuthenticator handbookAuthenticator = new HandbookAuthentication();
public DefaultAuthentication() {
if (ACCOUNT.EXPERIMENTAL_RealPassword) {
@@ -75,4 +76,9 @@ public final class DefaultAuthentication implements AuthenticationSystem {
public OAuthAuthenticator getOAuthAuthenticator() {
return this.oAuthAuthenticator;
}
@Override
public HandbookAuthenticator getHandbookAuthenticator() {
return this.handbookAuthenticator;
}
}