1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Lier son site Extaz CMS à AuthMe Reloaded !

Discussion dans 'Tutoriels ExtazCMS' démarrée par Spiikesan, 7 Juillet 2017.

  1. Spiikesan
    Offline

    Spiikesan Développeur Membre de l'équipe Développeur backend

    Inscrit depuis le :
    6 Mars 2017
    Messages :
    37
    "J'aime" reçus :
    10
    Points de Trophée :
    8
    Sexe :
    Masculin
    Travail/Loisirs :
    Informatique, développement
    Lieu de résidence :
    Bordeaux
    Bonjour à tous !

    Ce tutoriel est destiné à ceux qui souhaitent lier leur site à AuthMe Reloaded afin de pouvoir s'enregistrer sur le site pour se connecter en jeu !

    Sans plus attendre, voici le tuto :


    I. Changer le hash de mot de passe, et un petit bout de code
    En effet, Authme Reloaded utilise par défaut un autre système de hash que celui d'ExtazCMS.
    Voyez ce tutoriel fait par moi même pour changer le hash :
    https://extaz-cms.fr/forum/threads/tutoriel-changer-le-hash-compatibilite-authme-ou-autre.545/

    Vous aurez également à changer une petite partie du code, qui permettra d'ajouter le nickname du joueur. Cet élément est indispensable au fonctionnement d'AuthMe, sans quoi vos joueurs ne seront pas reconnus !

    Donc, dans app/Controller/UsersController.php
    Ligne 67:
    PHP:
    $this->User->saveField('tokens''0');

    $this->User->saveField('allow_email''1');
    // RAJOUTER LA LIGNE CI-DESSOUS. LE STRTOLOWER EST OBLIGATOIRE
    $this->User->saveField('nickname'strtolower($this->request->data['User']['username']));
    if(
    $nb_account == 0){
        
    $this->User->saveField('role''2');
    } else {
    Et après ça, vous êtes bon pour le code ! Passons à la BDD.


    II. Adapter la base de donnée
    Il faut maintenant modifier la base de donnée afin que celle-ci soit compatible avec AuthMe.

    Voici le script SQL qui vous permettra d'avoir la bonne table user compatible avec le dernier AuthMe Reloaded :

    Code:
    ALTER TABLE `extaz_users`
    ADD `nickname` VARCHAR(32) NOT NULL AFTER `reward`,
    ADD `isLogged` TINYINT(1) NOT NULL AFTER `nickname`,
    ADD `authmeip` INT(11) NOT NULL AFTER `isLogged`,
    ADD `lastlogin` BIGINT(20) NOT NULL AFTER `authmeip`,
    ADD `x` DOUBLE NOT NULL AFTER `lastlogin`,
    ADD `y` DOUBLE NOT NULL AFTER `x`,
    ADD `z` DOUBLE NOT NULL AFTER `y`,
    ADD `world` VARCHAR(32) AFTER `z`,
    ADD `yaw` INT(20) NOT NULL AFTER `world`,
    ADD `pitch` INT(20) NOT NULL AFTER `yaw`;
    Et c'est tout ! Maintenant, la config AuthMe, et c'est fini !

    III. Configuration d'AuthMe

    Je vais mettre ici uniquement ce qui nous intéresse, le reste, vous mettrez ce que vous voulez !

    Code:
    DataSource:
        backend: 'MYSQL'
        caching: false
        mySQLHost: '127.0.0.1' #Votre hôte ici
        mySQLPort: '3306' #Votre port ici
        mySQLUseSSL: true #Si oui où non votre serveur SQL utilise une connexion sécurisée
        mySQLUsername: 'Username' #Nom d'utilisateur pour la base de donnée
        mySQLPassword: 'S0m€_c0mpl3x_P@sSw0rd' #Mot de passe
        mySQLDatabase: 'VotreDatabase' #Votre base de donnée
        #A partir d'ici, toute les valeurs doivent être :
        mySQLTablename: 'extaz_users'
        mySQLColumnId: 'id'
        mySQLColumnName: 'nickname'
        mySQLRealName: 'username'
        mySQLColumnPassword: 'password'
        mySQLColumnEmail: 'email'
        mySQLColumnLogged: 'isLogged'
        mySQLColumnIp: 'authmeip'
        mySQLColumnLastLogin: 'lastlogin'
        mySQLlastlocX: 'x'
        mySQLlastlocY: 'y'
        mySQLlastlocZ: 'z'
        mySQLlastlocWorld: 'world'
        mySQLlastlocYaw: 'yaw'
        mySQLlastlocPitch: 'pitch'
    security:
            passwordHash: 'SHA256'
    registration:
            enabled: false
    
    L'enregistrement en jeu est désactivé, ainsi vos joueurs DOIVENT s'inscrire sur le site avant de pouvoir jouer sur le serveur.
    Ceci est nécessaire car AuthMe ne remplirait pas tout les champs nécessaires de la table user pour que le site puisse fonctionner correctement

    Voilà j'espère que ce tutoriel vous aidera et si vous avez des soucis/suggestions, n'hésitez pas à m'en faire part !
     
    • Like Like x 1
    Dernière édition: 7 Juillet 2017
  2. Servius Tullius
    Offline

    Servius Tullius Administrateur Membre de l'équipe Administrateur Graphiste

    Inscrit depuis le :
    18 Octobre 2015
    Messages :
    546
    "J'aime" reçus :
    97
    Points de Trophée :
    43
    Sexe :
    Masculin
    Lieu de résidence :
    France
    Page d'accueil :

Partager cette page

Utilisateurs qui regardent actuellement cette discussion : 0 membre(s) et 0 visiteur(s)