in Architettura Software

Auth0 – Associazione ruoli di default

Nella piattaforma Auth0 durante la fase di signup di un nuovo utente, può essere necessario associare all’utente uno o più ruoli. Questa operazione può essere fatta in diversi modi, utilizzando ad esempio le action oppure creando una Rule customizzata.

Nel mio caso ho preferito la seconda strada, che mi è sembrata più rapida.

Per prima cosa è necessario creare i ruoli all’interno della piattaforma, selezionando la voce all’interno del menu Roles.

Successivamente, posizionandosi sul dettaglio di ciascun ruolo è necessario recuperarne l’id:

A questo punto creare una rule vuota e copiare il codice seguente, modificando l’elenco degli ID dei ruoli che devono essere aggiunti per default all’interno della variabile data.

function (user, context, callback) {

    const count = context.stats && context.stats.loginsCount ? context.stats.loginsCount : 0;
    if (count > 1) {
        return callback(null, user, context);
    }

    const ManagementClient = require('auth0@2.27.0').ManagementClient;
    const management = new ManagementClient({
      token: auth0.accessToken,
      domain: auth0.domain
    });

    const params =  { id : user.user_id};
    const data = { "roles" : ["rol_1xxxxxx","rol_2xxxxxx
                              
                              
                              "]};

    management.users.assignRoles(params, data, function (err, user) {
    if (err) {
        // Handle error.
        console.log(err);
     }
    callback(null, user, context);
    });
}

Al primo login (ottenuto analizzando loginsCount) dell’utente, verranno aggiunti i ruoli.

  • Articoli Correlati per Tag :