Clos Fermé.

Pothier74

Architecte en herbe
13 Juillet 2019
218
2
80
24
Bonsoir,

Ça ne serait pas trop déconnant de décrire un peu plus le serveur, non ? Parce que là, à part le type et deux phrases, on a pas grand-chose.
Et sinon, en regardant le code source du launcher, j'ai vu des lignes qui m'ont piqué les yeux, alors après vérification effectivement ça pique bien comme il faut ;

Voir la pièce jointe 91207
Le launcher stocke le mot de passe en c l a i r.

Il faudrait l'enregistrer sous forme hachée, mais dans le cas de Minecraft il faudrait enregistrer le jeton d'accès que le serveur d'authentification renvoi.
Cf.: https://wiki.vg/Authentication#Response.

Java:
// fr.zorycube.launcher.LauncherPanel.onEvent(SwingerEvent): void
// [...]
if(e.getSource() == this.goldPlayButton) {
    this.enableButtons(false);
   
    if(this.goldUsernameField.getText().trim().isEmpty()) {
        JOptionPane.showMessageDialog(this, "Erreur, veuillez entrer un pseudo et un mot de passe valides.", "Erreur d'Authentification", 0);
        this.enableButtons(true);
       
        return;
    }

    this.saver.set("username", this.goldUsernameField.getText());
//
//    Il faut enlever cette ligne:
//    this.saver.set("password", this.passwordField.getText());
//
    this.saver.save();
    this.ramSelector.save();
    this.createLauncherThread().start();
}
// [...]



// fr.zorycube.launcher.Launcher.auth(String, String): void
public static void auth(String username, String password) throws AuthenticationException {
    Authenticator authenticator = new Authenticator("https://authserver.mojang.com/", AuthPoints.NORMAL_AUTH_POINTS);
    AuthResponse response = authenticator.authenticate(AuthAgent.MINECRAFT, username, password, "");
   
    // TODO: Sauvegarder la réponse `response`
    // Il faut ensuite vérifier que le jeton est toujours valide:
    // https://wiki.vg/Authentication#Validate
    //
    // S'il n'est plus valide, il faut en regénérer un nouveau à partir de l'ancien:
    // https://wiki.vg/Authentication#Refresh
    authInfos = new AuthInfos(response.getSelectedProfile().getName(), response.getAccessToken(), response.getSelectedProfile().getId());
}

Cordialement,
ShE3py.
Bonjour,

le système de keep login va être pris en charge, merci de l'information. Pour le projet, j'ai ajouté le plus d'information possible, merci de votre intervention.

Cordialement, Pothier74.
 

Pothier74

Architecte en herbe
13 Juillet 2019
218
2
80
24
Up ! Le lobby de notre serveur a pris du renouveau, les premiers serveur MMORPG sont disponibles et les scénarios sont en pleine écriture.