Requisiti

Conoscenza dei prerequisiti

  • Conoscenza di MySQL e PHP
  • Informazioni su AEM Mobile
  • Conoscenza della creazione e della pubblicazione di contenuto tramite il portale on-demand

Prodotti richiesti

  • AEM Mobile

 

Introduzione all'adesione personalizzata

Tramite un servizio di adesione, le app Experience Manager Mobile possono supportare l'accesso utente e concedere l'accesso (adesione) a determinate raccolte in base alle credenziali di accesso.

AEM Mobile supporta solo Direct Entitlement API v2. Consultate Adesione in AEM Mobile.

Scaricare il codice sorgente

Per iniziare a lavorare con il codice del server di adesione di esempio, scaricate i file del servizio di adesione.

 

Nota:

scaricando il software elencato di seguito, l'utente dichiara di aver letto e accettato i termini delle Condizioni d'uso di Adobe.com e l'Informativa sulla privacy di Adobe Online.

Nota:

l'implementazione di esempio deve essere fornita così com'è. Adobe non fornirà supporto relativamente al codice, all'implementazione o al processo di distribuzione. Se avete domande sull'implementazione, utilizzate il forum AEM Mobile.  

Installare il database di adesione

Il database MySQL deve avere la struttura di tabella corretta per consentire al sistema di adesione di archiviare e recuperare le informazioni.

Sebbene gli esempi seguenti utilizzino phpMyAdmin per l'amministrazione del database MySQL, altri strumenti di amministrazione di MySQL possono raggiungere lo stesso risultato.

Se phpMyAdmin è già installato nel server, andate alla sezione sulla creazione di un nuovo database.

Installazione di phpMyAdmin

  1. Fate clic sul pulsante “Download x.x.x” per scaricare la versione più recente di phpMyAdmin.

  2. Seguite la guida all'installazione di phpMyAdmin e installate phpMyAdmin nel server che funzionerà da host per l'adesione diretta.

  3. Andate al portale phpMyAdmin dal server di installazione. Esempio: http://<dominio utente>/phpmyadmin

  4. Se viene richiesto di eseguire l'accesso, immettete il nome utente di database e la password per il server.

Creazione di un nuovo database

  1. Dalla pagina iniziale di phpMyAdmin, fate clic sul pulsante “New” sulla barra laterale sinistra o sulla scheda “Database” nella barra di navigazione superiore.

  2. Nella pagina di database, immettete un nuovo nome di database (possibilmente “entitlement_admin”) nel campo “Crea database”.

  3. Fate clic sul pulsante “Create” per generare un nuovo database con il nome di immissione.

Caricamento della struttura di database predefinita

  1. Dopo la creazione del database, fate clic sul database “entitlement_admin” (o il nome di database specificato) dall'elenco.

  2. Dalla pagina di database “entitlement_admin”, fate clic sulla scheda “Import” che si trova nella barra di navigazione superiore.

  3. Fate clic sull'opzione “Scegli file” per aprire la finestra del browser.

  4. Dalla finestra del browser, andate alla cartella del server di adesione scaricata e selezionate il file di database predefinito denominato “entitlement_admin.sql”.

  5. Fate clic sul pulsante “Go” per caricare il database selezionato.

    Un messaggio notifica la riuscita del caricamento.

Configurare il codice sorgente

Per consentire al servizio di adesione di comunicare con il database che avete appena creato, dovete aggiornare una sezione del codice sorgente.

Aggiornamento delle impostazioni di MySQL

  1. Andate alla cartella del codice sorgente del server di adesione.

  2. Aprite il file “settings.php”, ubicato nella directory “Source-Code/php/settings.php”, con un editor di testo.

  3. Aggiornate i valori per i parametri seguenti:

    // enter the MySQL host name
    $db_host = 'localhost';
    // enter the MySQL database username
    $db_user = 'root';
    // enter the MySQL database password
    $db_password = 'root';
    // enter the name of the MySQL database
    $db_name = 'entitlement_admin';
  4. Aggiornate l'elenco degli utenti amministrativi predefiniti per il parametro $admin_list. Si tratta dell'elenco degli utenti admin che saranno in grado di accedere all'esempio di server di adesione personalizzato una volta ospitato.

     

    Ogni utente admin è associato a un'app AEM Mobile. Se avete due app iOS, dovrete creare due utenti admin.

    L'elenco contiene il formato seguente:

    $admin_list = array(
        // admin user #1
        array(
            'username' => 'admin1',
            'password' => '202cb962ac59075b964b07152d234b70'
        ),
        // admin user #2
        array(
            'username' => 'admin2',
            'password' => '202cb962ac59075b964b07152d234b70'
        ),
        // add as many admin users as necessary
    );

    Nota:

    dovete eseguire un hash MD5 sulla password (vale a dire la funzione PHP md5()). Nell'esempio precedente, la password di esempio “202cb962ac59075b964b07152d234b70” è un hash MD5 di valore “123”.

    <?php
    
    // this will output 202cb962ac59075b964b07152d234b70
    // replace the value '123' below with the desired password for the admin
    echo md5('123');
    
    ?>

Hosting del codice sorgente

Caricate il codice sorgente del servizio di adesione con le impostazioni aggiornate sul server in hosting sul quale è stato configurato il database nei passaggi precedenti.

  1. Utilizzate un client FTP, ad esempio Transmit per la connessione al server Web che funzionerà da host per il servizio di adesione.

  2. Impostate la destinazione di caricamento sulla directory desiderata del server Web.

  3. Selezionate la cartella del codice sorgente del server di adesione.

  4. Caricate tutti i file all'interno della cartella del codice sorgente del server di adesione.

  5. Andate a al percorso della cartella del codice sorgente dal server Web per visualizzare la schermata di accesso.

Testare il programma di installazione del server di adesione

È disponibile un set di test per testare la configurazione del servizio di adesione. Andate al file setup_check.html dal server di host. Fate clic su uno dei pulsanti sulla barra laterale sinistra per eseguire il test corrispondente. Ogni controllo restituirà “ok” in caso di riuscita o un messaggio di errore in caso contrario.

Sono inclusi i test seguenti:

  • All – Verranno eseguiti tutti i test di seguito.
  • PHP Modules – Verificate se i moduli PHP utilizzati dal codice sorgente dell'adesione diretta sono installati.
  • Configuration – Verificate se l'utente ha aggiornato il file settings.php. Per impostazione predefinita, i valori sono commentati, in modo che gli utenti forniscano i valori reali.
  • Database – Verificate che il database di adesione diretta sia stato creato correttamente. Verificate se l'accesso al database di adesione diretta sia possibile tramite le credenziali fornite (in settings.php).
  • HTTP Connection – Verificate se il server di hosting può accedere a siti Web HTTP (non protetti).
  • HTTPS Connection – Verificate se il server di hosting può accedere a siti Web HTTPS (non protetti).

Personalizzare il servizio di adesione

In questa sezione verrà illustrato come personalizzare il servizio di adesione in base al marchio disponibile. Tutte le immagini devono essere inserite nella cartella “immagini” all'interno di cartella del codice sorgente del server di adesione.

Personalizzare lo sfondo della schermata accesso

  1. Create un'immagine delle seguenti dimensioni: 1200x1200 pixel.
  2. Salvate l'immagine come “login_bg.jpg”.

Personalizzare il logo nella schermata di accesso

  1. Create un'immagine delle seguenti dimensioni: 34 x 33 pixel.
  2. Salvate l'immagine come “aemmobile_logo.png”.

Personalizzare il banner nella home page

  1. Create un'immagine delle seguenti dimensioni: 1200 x 170 pixel.
  2. Salvate l'immagine come “header.jpg”.

Personalizzare il testo nella pagina di accesso

  1. Andate alla cartella del codice sorgente del server di adesione diretta.
  2. Aprite il file “index.html” con un editor di testo.
  3. Modificate i valori seguenti:

Intestazione di accesso

  • Individuate la stringa seguente: “Adobe Experience Manager Mobile” (riga 31).
  • Modificate il valore inserendo la vostra intestazione di accesso.

Segnaposto nome utente

  • Individuate la stringa seguente: “Sign in with your Adobe ID for AEM Mobile” (riga 40)
  • Modificate il valore inserendo il segnaposto del vostro nome utente.

Segnaposto password

  • Individuate la stringa seguente: “Password” (riga 48)
  • Modificate il valore inserendo il segnaposto della vostra password.

Accedere al servizio di adesione

Il servizio di adesione creerà automaticamente gli amministratori se non esiste già durante l'accesso. Una volta effettuato l'accesso, visualizzerete la schermata per autorizzare utenti e gruppi alle raccolte. Per ulteriori informazioni sul funzionamento dell'adesione, consultate questo articolo: Adesione nelle app AEM Mobile.

Specifica del Bundle ID

Immettete il Bundle ID per un'app AEM Mobile. Deve corrispondere a quello impostato in uno dei seguenti punti dei servizi on-demand:

Impostazioni progetto

Andate a Project Settings > Access tab > Bundle ID. Se il Bundle ID è specificato qui, verrà inviato al servizio di adesione al posto del valore Bundle ID presente in Apps.

Impostazioni di App

Andate ad Apps nella parte sinistra e create o modificate un'app. Se nelle impostazioni progetto non è specificato alcun Bundle ID, viene utilizzato questo Bundle ID.

Gestione degli utenti

L'amministratore di adesione consente di creare e aggiornare gli utenti. Gli utenti devono avere un nome utente e una password e possono contenere un campo di descrizione facoltativo. Un utente può avere diritto a uno o più prodotti e può essere assegnato a uno o più gruppi.

  • Per aggiungere un utente, fate clic su “Add User” dalla scheda “Users”.
  • Per modificare un utente, selezionate un utente dalla griglia, quindi fate clic su “Edit User” oppure fate doppio clic sulla voce di un utente. Nella finestra di dialogo Edit User, potete aggiornare il nome utente, la password o la descrizione. La password deve essere impostata solo se la state aggiornando. In caso contrario, potete lasciarla vuota.
  • Per autorizzare un prodotto per l'utente, selezionate un prodotto dal primo elenco a discesa e fate clic sul pulsante “+”.
  • Per aggiungere l'utente a un gruppo, selezionate un gruppo dal secondo elenco a discesa e fate clic sul pulsante “+”.
  • Per rimuovere un prodotto o un gruppo dall'utente, selezionatelo dall'elenco e fate clic su “Remove”.

Gestione dei gruppi

L'amministratore di adesione consente di creare e aggiornare i gruppi. I gruppi non sono richiesti, ma sono utili per autorizzare gruppi di utenti a uno o più prodotti. I gruppi devono avere un nome e possono contenere un campo di descrizione facoltativo. Potete autorizzare i prodotti per un gruppo e assegnare utenti a un gruppo.

  • Per aggiungere un gruppo, fate clic su “Add Group” dalla scheda “Groups”.
  • Per modificare un gruppo, selezionate un gruppo della griglia e quindi fate clic oppure doppio clic su “Edit Group”. Nella finestra di dialogo Edit Group, potete aggiornare il nome o la descrizione.
  • Per autorizzare un prodotto per il gruppo, selezionate un prodotto dal primo elenco a discesa e fate clic sul pulsante “+”.
  • Per aggiungere un utente al gruppo, selezionate un utente dal secondo elenco a discesa e fate clic sul pulsante “+”.
  • Per rimuovere un prodotto o un utente dal gruppo, selezionatelo dall'elenco e fate clic su “Remove”.

Gestione dei prodotti

L'amministratore di adesione consente di creare e aggiornare i prodotti. I prodotti devono avere un'etichetta prodotto, una descrizione prodotto, un ID prodotto e una data di disponibilità. Quando create i prodotti, assicuratevi che l'ID prodotto corrisponda a quello creato nella sezione Prodotti e iscrizioni del portale on-demand. Per ulteriori informazioni, consultate questo articolo: Acquisti in-app e iscrizioni in AEM Mobile.

  • Per aggiungere un prodotto, fate clic su “Add Product” dalla scheda “Product”.
  • Per modificare un prodotto, selezionate un prodotto dalla griglia, quindi fate clic oppure doppio clic su “Edit Product”. Nella finestra di dialogo Edit Product potete aggiornare l'etichetta del prodotto, la descrizione del prodotto, l'ID prodotto o la data di disponibilità.
  • Per autorizzare un gruppo al prodotto, selezionate un gruppo dal primo elenco a discesa e fate clic sul pulsante “+”.
  • Per autorizzare un utente al prodotto, selezionate un utente dal secondo elenco a discesa e fate clic sul pulsante “+”.
  • Per rimuovere un gruppo o un utente dal prodotto, selezionatelo dall'elenco e fate clic su “Remove”.  

Attivare il server di adesione per il progetto AEM Mobile

Di seguito è indicata la procedura per associare il server di adesione a un progetto AEM Mobile:

  1. Immettete il bundle ID nel server di adesione. Deve corrispondere a quello impostato nei servizi on-demand.

    Si trova nei metadati del progetto dei servizi on-demand:

    Oppure nelle impostazioni AEM Mobile App (se non è impostato a livello di progetto).

  2. Immettete l'endpoint di adesione nei servizi on-demand. Per ulteriori informazioni, consultate questo articolo della guida: Adesione nelle app AEM Mobile.

Miglioramenti nella produzione

Con la configurazione corrente, le credenziali utente amministrativo sono impostate nel file /php/settings.php. Per ottimizzare questo processo di cura degli utenti admin, è consigliabile archiviare l'elenco $admin nel database e utilizzare gli strumenti di amministrazione di MySQL (come phpMyAdmin) per crearli/modificarli/aggiornarli/eliminarli.

  1. Create una nuova tabella (ad esempio, admin) nel database. Potete utilizzare lo stesso database (preferito) creato in precedenza e creare tutti gli utenti necessari.

  2. Nel file /php/settings.php dovrete sostituire $admin_list = array() con le istruzioni di preparazione di MySQL che eseguiranno una query al database per l'elenco di utenti admin. Di seguito viene fornito un esempio:

    // initializes the empty list of admin user
    $admin_list = array();
    
    // connects to the database
    $dbconnect = $mysqli = new mysqli($db_host, $db_user, $db_password, $db_name);
    
    if ($dbconnect) { // successfully connected to the database
    	// queries the database for the list of admin user credentials: username, password
    	$stmt = $mysqli->prepare('SELECT username, password FROM admins);
    
    	if ($stmt) { // prepare statement succeeded
    		$stmt->bind_param('ss', $username, $password);
    		$stmt->execute();
    		// stores the queried results
    		$stmt->store_result();
    
    		if ($stmt->num_rows > 0) { // there exists admin users in the database
    			// appends the queried admin credentials to the list
    			while($stmt->fetch()) {
    				$admin_list[] = array(
    					'username' => $username,
    					'password' => $password
    				);
    			}
    		}
    	}
    }
    

Utilizzo dell'autenticazione personalizzata nel servizio di adesione

Questo server di adesione di esempio ora supporta l'utilizzo di Google, Facebook o di un provider di identità generico. In tal modo, gli utenti possono accedere mediante un account Google o Facebook o tramite un'esperienza di accesso personalizzata progettata appositamente. Per impostazione predefinita, il servizio di adesione non supporta simultaneamente tutti e tre i tipi di provider di identità.

Per ulteriori informazioni sull'autenticazione personalizzata, consultate Autenticazione personalizzata nelle app AEM Mobile.

Utilizzo di Google o Facebook come provider di identità

Quando si utilizza Google o Facebook come provider di identità, l'app AEM Mobile fornisce authToken nelle adesioni Entitlement V2 API: /. A seconda della configurazione del server di adesione, questo server di adesione di esempio utilizzerà l'API di Google o di Facebook per il pulling della posta elettronica dell'utente in base ad authToken e la verifica con il database delle adesioni.

Per configurare il server, aggiornate il parametro $identity_provider in “google” o “facebook”. Tale parametro si trova in /php/settings.php.

Utilizzo di un provider di identità generico

Quando si utilizza un provider di identità generico, l'app effettuerà il reindirizzamento degli utenti all'interfaccia utente di accesso personalizzata fornita. L'interfaccia utente deve gestire le credenziali di accesso, convalidarle e passare il risultato nuovamente all'app.

Un'interfaccia utente di accesso di esempio è stata configurata nella directory /idp. Quando si configura il provider di identità generico nei servizi on-demand, l'URL di autenticazione deve essere simile al seguente:
http://<dominio>/<percorso del codice sorgente>/idp/index.html

Se in precedenza il server è stato configurato per utilizzare Google o Facebook, aggiornate il parametro $identity_provider nuovamente al valore predefinito. Tale parametro si trova in /php/settings.php.

Configurazione del servizio per il supporto dei provider di identità

Ogni app supporta un solo provider di identità: Google, Facebook o generico. Per impostazione predefinita, anche questo server di adesione di esempio ne supporta uno solo. Tuttavia, se esiste una ragione per supportare più provider di identità, ad esempio l'uso dello stesso server di adesione per più app, è necessario copiare la directory /services e rinominarla in altro modo, ad esempio, services-google. Nella directory appena copiata, forzate l'impostazione del parametro $identity_provider sul provider di identità desiderato (ad esempio: $identity_provider = "google") aggiungendolo dopo la riga #13.

// in /services-google/index.php

require_once "../php/settings.php";
require_once "../php/utils.php";

$identity_provider = "google"

$path_info = $_SERVER["PATH_INFO"];
$call = substr($path_info, 1);

In questo esempio, il nuovo endpoint di adesione sarà quello indicato di seguito:
http://<dominio>/<percorso del codice sorgente>/services-google/index.php

Questo prodotto è concesso in licenza in base alla licenza di Attribuzione-Non commerciale-Condividi allo stesso modo 3.0 Unported di Creative Commons.  I post su Twitter™ e Facebook non sono coperti dai termini di Creative Commons.

Note legali   |   Informativa sulla privacy online