do not refresh token multiple times per session

This commit is contained in:
Bixilon 2020-09-04 22:48:15 +02:00
parent e622571a5d
commit c7e82a76c2
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -27,6 +27,7 @@ public class MojangAccount {
final String playerName;
final String mojangUserName;
String accessToken;
RefreshStates lastRefreshStatus;
public MojangAccount(String username, JsonObject json) {
this.accessToken = json.get("accessToken").getAsString();
@ -52,15 +53,21 @@ public class MojangAccount {
}
public RefreshStates refreshToken() {
if (lastRefreshStatus != null) {
return lastRefreshStatus;
}
String accessToken = MojangAuthentication.refresh(this.accessToken);
if (accessToken == null) {
return RefreshStates.FAILED;
lastRefreshStatus = RefreshStates.FAILED;
return lastRefreshStatus;
}
if (accessToken.equals("")) {
return RefreshStates.ERROR;
lastRefreshStatus = RefreshStates.ERROR;
return lastRefreshStatus;
}
this.accessToken = accessToken;
return RefreshStates.SUCCESSFUL;
lastRefreshStatus = RefreshStates.SUCCESSFUL;
return lastRefreshStatus;
}
public UUID getUUID() {