mirror of
https://github.com/GravitLauncher/Launcher
synced 2025-03-29 12:38:26 +03:00
[FIX] PostgresSQLCoreProvider and HttpAuthCoreProvider bug fixes
This commit is contained in:
parent
6430b9e2d4
commit
96915b0f78
2 changed files with 39 additions and 6 deletions
|
@ -252,8 +252,11 @@ public static class HttpUser implements User, UserSupportTextures, UserSupportPr
|
||||||
private String serverId;
|
private String serverId;
|
||||||
private String accessToken;
|
private String accessToken;
|
||||||
private ClientPermissions permissions;
|
private ClientPermissions permissions;
|
||||||
|
@Deprecated
|
||||||
private Texture skin;
|
private Texture skin;
|
||||||
|
@Deprecated
|
||||||
private Texture cloak;
|
private Texture cloak;
|
||||||
|
private Map<String, Texture> assets;
|
||||||
private Map<String, String> properties;
|
private Map<String, String> properties;
|
||||||
|
|
||||||
public HttpUser() {
|
public HttpUser() {
|
||||||
|
@ -288,6 +291,16 @@ public HttpUser(String username, UUID uuid, String serverId, String accessToken,
|
||||||
this.properties = properties;
|
this.properties = properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HttpUser(String username, UUID uuid, String serverId, String accessToken, ClientPermissions permissions, Map<String, Texture> assets, Map<String, String> properties) {
|
||||||
|
this.username = username;
|
||||||
|
this.uuid = uuid;
|
||||||
|
this.serverId = serverId;
|
||||||
|
this.accessToken = accessToken;
|
||||||
|
this.permissions = permissions;
|
||||||
|
this.assets = assets;
|
||||||
|
this.properties = properties;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getUsername() {
|
public String getUsername() {
|
||||||
return username;
|
return username;
|
||||||
|
@ -315,12 +328,32 @@ public ClientPermissions getPermissions() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Texture getSkinTexture() {
|
public Texture getSkinTexture() {
|
||||||
return skin;
|
if(assets == null) {
|
||||||
|
return skin;
|
||||||
|
}
|
||||||
|
return assets.get("SKIN");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Texture getCloakTexture() {
|
public Texture getCloakTexture() {
|
||||||
return cloak;
|
if(assets == null) {
|
||||||
|
return cloak;
|
||||||
|
}
|
||||||
|
return assets.get("CAPE");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<String, Texture> getAssets() {
|
||||||
|
if(assets == null) {
|
||||||
|
Map<String, Texture> map = new HashMap<>();
|
||||||
|
if(skin != null) {
|
||||||
|
map.put("SKIN", skin);
|
||||||
|
}
|
||||||
|
if(cloak != null) {
|
||||||
|
map.put("CAPE", cloak);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
return assets;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -83,11 +83,11 @@ public User getUserByLogin(String login) {
|
||||||
public UserSession getUserSessionByOAuthAccessToken(String accessToken) throws OAuthAccessTokenExpired {
|
public UserSession getUserSessionByOAuthAccessToken(String accessToken) throws OAuthAccessTokenExpired {
|
||||||
try {
|
try {
|
||||||
var info = LegacySessionHelper.getJwtInfoFromAccessToken(accessToken, server.keyAgreementManager.ecdsaPublicKey);
|
var info = LegacySessionHelper.getJwtInfoFromAccessToken(accessToken, server.keyAgreementManager.ecdsaPublicKey);
|
||||||
var user = (MySQLCoreProvider.MySQLUser) getUserByUUID(info.uuid());
|
var user = (PostgresSQLUser) getUserByUUID(info.uuid());
|
||||||
if(user == null) {
|
if(user == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return new MySQLCoreProvider.MySQLUserSession(user);
|
return new PostgresSQLCoreProvider.MySQLUserSession(user);
|
||||||
} catch (ExpiredJwtException e) {
|
} catch (ExpiredJwtException e) {
|
||||||
throw new OAuthAccessTokenExpired();
|
throw new OAuthAccessTokenExpired();
|
||||||
} catch (JwtException e) {
|
} catch (JwtException e) {
|
||||||
|
@ -103,7 +103,7 @@ public AuthManager.AuthReport refreshAccessToken(String refreshToken, AuthRespon
|
||||||
}
|
}
|
||||||
String username = parts[0];
|
String username = parts[0];
|
||||||
String token = parts[1];
|
String token = parts[1];
|
||||||
var user = (MySQLCoreProvider.MySQLUser) getUserByUsername(username);
|
var user = (PostgresSQLUser) getUserByUsername(username);
|
||||||
if(user == null || user.password == null) {
|
if(user == null || user.password == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ public AuthManager.AuthReport refreshAccessToken(String refreshToken, AuthRespon
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var accessToken = LegacySessionHelper.makeAccessJwtTokenFromString(user, LocalDateTime.now().plusSeconds(expireSeconds), server.keyAgreementManager.ecdsaPrivateKey);
|
var accessToken = LegacySessionHelper.makeAccessJwtTokenFromString(user, LocalDateTime.now().plusSeconds(expireSeconds), server.keyAgreementManager.ecdsaPrivateKey);
|
||||||
return new AuthManager.AuthReport(null, accessToken, refreshToken, expireSeconds * 1000L, new MySQLCoreProvider.MySQLUserSession(user));
|
return new AuthManager.AuthReport(null, accessToken, refreshToken, expireSeconds * 1000L, new PostgresSQLCoreProvider.MySQLUserSession(user));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue