use of com.github.games647.changeskin.core.model.auth.AuthResponse in project ChangeSkin by games647.
the class MojangAuthApi method authenticate.
public Optional<Account> authenticate(String email, String password) {
try {
HttpURLConnection httpConnection = CommonUtil.getConnection(AUTH_URL);
httpConnection.setRequestMethod("POST");
httpConnection.setDoOutput(true);
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(httpConnection.getOutputStream(), StandardCharsets.UTF_8))) {
writer.append(gson.toJson(new AuthRequest(email, password)));
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream(), StandardCharsets.UTF_8))) {
AuthResponse authResponse = gson.fromJson(reader, AuthResponse.class);
return Optional.of(new Account(authResponse.getSelectedProfile(), authResponse.getAccessToken()));
}
} catch (IOException ex) {
logger.error("Failed to authenticate user: {}", email, ex);
}
return Optional.empty();
}
Aggregations