Show Menu
ARGOMENTI×

Login tramite social network con Facebook e Twitter

Il login mediante profilo sociale è la capacità di presentare a un visitatore del sito l’opzione per accedere con il proprio account Facebook o Twitter. Pertanto, includendo i dati Facebook o Twitter consentiti nel profilo membro AEM.

Panoramica di accesso tramite social network

Per includere il login sociale, è *obbligatorio *per creare applicazioni Facebook e Twitter personalizzate.
L’esempio di vendita al dettaglio fornisce esempi di app Facebook e Twitter e servizi cloud, ma non sono disponibili in un sito Web di produzione.
I passaggi necessari sono:
  1. Abilita autenticazione OAuth su tutte le istanze di pubblicazione AEM.
    Senza OAuth abilitato, i tentativi di accesso non riescono.
  2. Create un'app social e un servizio cloud.
  3. Abilitate mediante profilo sociale per un sito della community.
Esistono due concetti fondamentali:
  1. Ambito (autorizzazioni) specifica i dati che l'app può richiedere.
  2. Campi (params) specifica i dati effettivi richiesti utilizzando i parametri URL.

Login Facebook

Versione API Facebook

L'accesso ai social network e l'esempio di Facebook per la vendita al dettaglio sono stati sviluppati quando l'API Facebook Graph era versione 1.0.\
A partire da AEM 6.4 GA e AEM 6.3 SP1 l’accesso ai social network è stato aggiornato per funzionare con la nuova versione di Facebook Graph API 2.5.
Per le versioni precedenti di AEM, se si riscontra un’eccezione nei registri Non è possibile estrarre un token da questo , eseguire l’aggiornamento all’ultimo CFP per la versione di AEM.
Per informazioni sulla versione dell'API di Facebook Graph, consultate la finestra di dialogo della modifica dell'API di Facebook .

Creare un'app Facebook

Per abilitare l'accesso ai social network di Facebook è necessaria un'applicazione Facebook configurata correttamente.
Per creare un’applicazione Facebook, seguite le istruzioni di Facebook all’indirizzo https://developers.facebook.com/apps/ . Le modifiche apportate alle relative istruzioni non sono riportate nelle seguenti informazioni.
In generale, a partire dall'API Facebook v2.7:
  • Aggiungere una nuova app Facebook:
    • Per Piattaforma , scegliete Sito Web
      • Per URL ** sito, immettete https://<server>:<port>.
    • Per Nome ** visualizzato, immettete un titolo da usare come Titolo del servizio di connessione di Facebook.
    • Per Categoria , si consiglia di scegliere App per Pagine, ma può essere qualsiasi cosa.
    • Aggiungi prodotto: Login Facebook
      • Per gli URI di reindirizzamento OAuth validi , immettere https://<server>:<port>.
Per lo sviluppo, http://localhost:4503 funzionerà.
Una volta creata l'applicazione, individua le impostazioni ID ​app e Segreto ​app. Queste informazioni sono necessarie per configurare il servizio cloud Facebook.

Creare un servizio Facebook Connect Cloud

L'istanza di Adobe Granite OAuth Application and Provider , creata mediante la creazione di una configurazione di servizio cloud, identifica l'applicazione Facebook e i gruppi membri ai quali vengono aggiunti i nuovi utenti.
  1. Nell’istanza di creazione di AEM, effettuate l’accesso con privilegi di amministratore.
  2. Dalla navigazione globale, selezionate Strumenti > Servizi cloud > Configurazione accesso Facebook Social.
  3. Selezionare il percorso del contesto di configurazione.
    Il percorso di contesto deve corrispondere al percorso di configurazione cloud selezionato durante la creazione o la modifica di un sito community.
  4. Controlla se il percorso contestuale è abilitato per creare servizi cloud al di sotto di esso.
  5. Scegliere Strumenti > Generale > Browser di configurazione. Seleziona il contesto e modifica le proprietà. Abilita configurazioni cloud se non ancora abilitata.
  6. Crea/Modifica la configurazione del servizio cloud di Facebook.
    • Titolo ( obbligatorio ) Immettete un titolo di visualizzazione che identifichi l’app Facebook. Si consiglia di utilizzare lo stesso nome immesso come Nome ** visualizzato per l'app Facebook.
    • ID app/ChiaveAPI ( richiesta ) Immettere l'ID ​** app per l'app Facebook. Questo identifica l'istanza di applicazione e provider OAuth Adobe Granite creata dalla finestra di dialogo.
    • Segreto app ( obbligatorio ) Immetti il segreto ​** app per l'app Facebook.
    • Crea utenti Se questa opzione è attivata, l'accesso con un account Facebook creerà una voce utente AEM e la aggiungerà come membro al gruppo o ai gruppi di utenti selezionati. Il valore predefinito è selezionato (fortemente consigliato).
    • Mascherare gli ID utente: Lascia deselezionato.
    • E-mail ambito: l’ID e-mail dell’utente deve essere recuperato da Facebook.
    • Aggiungi a gruppi di utenti selezionate Aggiungi gruppo di utenti per scegliere uno o più gruppi di membri per il sito della community a cui verranno aggiunti gli utenti.
    I gruppi possono essere aggiunti o rimossi in qualsiasi momento. Ma le appartenenze degli utenti esistenti non ne saranno influenzate. L'iscrizione automatica si applica solo ai nuovi utenti che vengono creati dopo l'aggiornamento di questo campo. Per i siti in cui gli utenti anonimi sono disabilitati, scegliere di aggiungere utenti al gruppo di membri della community corrispondente destinato a tale sito community chiuso.
    • Select SAVE .
    • Pubblicazione .
Il risultato è un'istanza Adobe Granite OAuth Application e Provider che non richiede ulteriori modifiche a meno che non venga aggiunto ulteriore ambito (autorizzazioni). L’ambito predefinito è quello standard per l’accesso a Facebook. Se si desidera un ulteriore ambito, è necessario modificare direttamente la configurazione OSGI. In caso di modifiche effettuate direttamente tramite sistema/console, evitate di modificare le configurazioni del servizio cloud dall’interfaccia touch per evitare la sovrascrittura.

Provider OAuth Facebook di AEM Communities

Il provider AEM Communities estende l’istanza di Adobe Granite OAuth Application e Provider .
Questo provider richiederà la modifica per:
  • Consenti aggiornamenti utente
  • Aggiunta di campi aggiuntivi all'interno dell'ambito
    • Per impostazione predefinita, non tutti i campi consentiti per impostazione predefinita sono inclusi.
Se la modifica è necessaria, in ogni istanza di pubblicazione AEM:
  1. Effettuate l'accesso con privilegi di amministratore.
  2. Passate alla console Configurazione di OSGi Web. Ad esempio, http://localhost:4503/system/console/configMgr.
  3. Individua il provider OAuth di Facebook di AEM Communities.
  4. Selezionate l’icona matita da aprire per la modifica.
    • ID provider OAuth
      ( Obbligatorio ) Il valore predefinito è soco-facebook . Non modificare.
    • Configurazione servizio cloud
      Il valore predefinito è /etc/ cloud services / facebookconnect . Non modificare.
    • Configurazione servizio provider OAuth
      Il valore predefinito è /apps/social/facebookprovider/config/ . Non modificare.
    • Abilita tag
      Non modificare.
    • Percorso utente
      Posizione nella directory archivio in cui sono memorizzati i dati utente. Per un sito community, per garantire ai membri le autorizzazioni necessarie per visualizzare il profilo dell'altro, il percorso deve essere quello predefinito /home/users/community .
    • Abilita campi
      Se questa opzione è selezionata, i campi elencati vengono specificati nella richiesta a Facebook per l’autenticazione dell’utente e le informazioni. Il valore predefinito è deselezionato.
    • espandibili
      Quando i campi sono attivati, quando si chiama l'API di Facebook Graph vengono inclusi i campi seguenti. I campi devono essere consentiti all'interno dell'ambito definito nella configurazione del servizio cloud. Altri campi potrebbero richiedere l’approvazione di Facebook. Fate riferimento alla sezione Autorizzazioni di accesso Facebook della documentazione di Facebook. I campi predefiniti aggiunti come parametri sono:
      • id
      • nome
      • first_name
      • last_name
      • Collegamento
      • locale
      • picture
      • timezone
      • update_time
      • verificato
      • e-mail Se viene aggiunto o modificato un campo, aggiornate la configurazione del gestore di sincronizzazione predefinito corrispondente per correggere il mapping.
    • Aggiorna utente Se questa opzione è selezionata, aggiorna i dati utente nella directory archivio di ogni login in modo che riflettano le modifiche del profilo o i dati aggiuntivi richiesti. Il valore predefinito è deselezionato.

Passaggi successivi

I passaggi successivi sono gli stessi per Facebook e Twitter:

Login Twitter

Creare un'app Twitter

Per abilitare il login per social network per Twitter è necessaria un'applicazione Twitter configurata.
Seguite le istruzioni più recenti per creare una nuova applicazione Twitter all'indirizzo https://apps.twitter.com .
In generale:
  1. Immettete un nome per identificare l’applicazione Twitter per gli utenti del sito Web.
  2. Inserire una descrizione.
  3. Per il sito Web - digitate https://<server>/.
  4. Per URL ** callback - immettete https://<server>/.
    Non è necessario specificare la porta.
    Per lo sviluppo, https://127.0.0.1/ funzionerà.
  5. Una volta creata l'applicazione, individua la chiave Consumer (API) Key and Consumer (API) Secret (Segreto API). Queste informazioni saranno necessarie per configurare il servizio cloud Twitter.

Autorizzazioni

Nella sezione delle autorizzazioni della gestione dell'applicazione Twitter:
  • Accesso :Selezionare Read only .
    • Altre opzioni non sono supportate
  • Autorizzazioni aggiuntive: Facoltativamente, scegliete Request email addresses from users .
    • Se non è selezionato, il profilo utente in AEM non includerà il proprio indirizzo e-mail.
    • Le istruzioni di Twitter indicano ulteriori passi da compiere.
L'unica richiesta REST fatta per l'accesso tramite social network è di GET account/credenziali ​di verifica.

Creare un servizio Twitter Connect Cloud

L'istanza di Adobe Granite OAuth Application and Provider , creata mediante la creazione di una configurazione di servizio cloud, identifica l'applicazione Twitter e i gruppi membri ai quali vengono aggiunti i nuovi utenti.
  1. Nell’istanza di creazione, effettuate l’accesso con privilegi di amministratore.
  2. Dalla navigazione globale, selezionate Strumenti > Servizi cloud > Configurazione accesso Twitter Social.
  3. Scegliete la configurazione del percorso ​contestuale.
    Il percorso di contesto deve corrispondere al percorso di configurazione cloud selezionato durante la creazione o la modifica di un sito community.
  4. Controlla se il percorso contestuale è abilitato per creare servizi cloud al di sotto di esso.
  5. Scegliere Strumenti > Generale > Browser di configurazione. Seleziona il contesto e modifica le proprietà. Abilita configurazioni cloud se non ancora abilitata.
  6. Creare/modificare la configurazione del servizio cloud di Twitter.
    • Titolo ( obbligatorio ) Immettete un titolo di visualizzazione che identifichi l’app Twitter. Si consiglia di utilizzare lo stesso nome immesso come Nome ** visualizzato per l'app Twitter.
    • Chiave del consumatore ( richiesta ) Immettete la chiave API del consumatore (Consumer) per l'app Twitter. Questo identifica l'istanza di applicazione e provider OAuth Adobe Granite creata dalla finestra di dialogo.
    • Segreto consumatore ( obbligatorio ) Immettere il segreto Consumer(API) per l'app Twitter.
    • Crea utenti Se questa opzione è attivata, l'accesso con un account Twitter creerà una voce utente AEM e la aggiungerà come membro al gruppo o ai gruppi di utenti selezionati. Il valore predefinito è selezionato (fortemente consigliato).
    • Maschera ID utente Lascia deselezionato.
    • Aggiungi a gruppi di utenti selezionate Aggiungi gruppo di utenti per scegliere uno o più gruppi di membri per il sito della community a cui verranno aggiunti gli utenti.
    I gruppi possono essere aggiunti o rimossi in qualsiasi momento. Ma le appartenenze degli utenti esistenti non ne saranno influenzate. L'iscrizione automatica si applica solo ai nuovi utenti che vengono creati dopo l'aggiornamento di questo campo. Per i siti in cui gli utenti anonimi sono disabilitati, aggiungete utenti al gruppo di membri della comunità corrispondente destinato a tale sito della comunità chiuso.
  7. Selezionate SALVA e Pubblica .
Il risultato è un'istanza Adobe Granite OAuth Application e Provider che non richiede ulteriori modifiche. L’ambito predefinito è quello standard per le autorizzazioni di accesso a Twitter.

Provider OAuth Twitter di AEM Communities

La configurazione di AEM Communities estende l’istanza di Adobe Granite OAuth Application e Provider . Per consentire gli aggiornamenti degli utenti, questo provider richiederà la modifica.
Se la modifica è necessaria, in ogni istanza di pubblicazione AEM:
  1. Effettuate l'accesso con privilegi di amministratore.
  2. Passate alla console Configurazione di OSGi Web.
    Ad esempio, http://localhost:4503/system/console/configMgr.
  3. Individua provider OAuth Twitter di AEM Communities.
  4. Selezionate l’icona matita da aprire per la modifica.
    • ID provider OAuth ( obbligatorio )
      Il valore predefinito è soco-twitter . Non modificare.
    • Configurazione servizio cloud
      The default value is conf. Non modificare.
    • Configurazione servizio provider OAuth
      Il valore predefinito è /apps/social/twitterprovider/config/ . Non modificare.
    • Percorso utente
      Posizione nella directory archivio in cui sono memorizzati i dati utente. Per un sito community, per garantire ai membri le autorizzazioni necessarie per visualizzare il profilo dell'altro, il percorso deve essere quello predefinito /home/users/community .
    • Abilita parametri non modificati
    • I parametri URL non vengono modificati
    • Aggiorna utente
      Se questa opzione è attivata, aggiorna i dati utente presenti nella directory archivio su ogni login in modo che riflettano le modifiche del profilo o i dati aggiuntivi richiesti. Il valore predefinito è deselezionato.

Passaggi successivi

I passaggi successivi sono gli stessi per Facebook e Twitter:

Abilita login per social network

Console Siti di AEM Communities

Una volta configurato, il servizio cloud potrebbe essere abilitato per l'impostazione di accesso tramite social network pertinente per un sito community tramite il sottopannello Impostazioni di gestione sites-console.html#USERMANAGEMENT utente durante la creazione o la gestione di un sito community.
  1. Scegliete il contesto di configurazione del sito in cui avete salvato le configurazioni di accesso mediante social network.
  2. Nella scheda Generale, impostate le configurazioni cloud.
  3. Nella scheda Settings (Impostazioni), abilita Social Logins (Accesso social network) e Salva.

Test login Social

  • Assicurarsi che il gestore autenticazione OAuth di Adobe Granite sia stato abilitato su tutte le istanze di pubblicazione
  • Verifica che i servizi cloud siano stati pubblicati
  • Verificare la pubblicazione del sito community
  • Avviare il sito pubblicato in un browserAd esempio, http://localhost:4503/content/sites/engage/en.html
  • Seleziona login
  • Seleziona Accedi con Facebook o Accedi con Twitter
  • Se non avete già eseguito l'accesso a Facebook o Twitter, effettuate l'accesso con le credenziali appropriate
  • Potrebbe essere necessario concedere l'autorizzazione in base alla finestra di dialogo visualizzata dall'app Facebook o Twitter
  • La barra degli strumenti nella parte superiore della pagina viene aggiornata in modo da riflettere l’accesso
  • Seleziona profilo : nella pagina Profilo vengono visualizzati l’immagine avatar dell’utente, il nome e il cognome. Vengono inoltre visualizzate le informazioni del profilo Facebook o Twitter in base ai campi/param consentiti.

Configurazioni OAuth della piattaforma AEM

Gestore autenticazione OAuth di Adobe Granite

Per impostazione predefinita Adobe Granite OAuth Authentication Handler non è attivato e deve essere attivato su tutte le istanze di pubblicazione AEM.
Per attivare il gestore di autenticazione al momento della pubblicazione, è sufficiente aprire la configurazione OSGi e salvarla:
  • Accesso con privilegi di amministratore
  • Passare alla console Configurazione di OSGi Web, ad esempio http://localhost:4503/system/console/configMgr
  • Individua Adobe Granite OAuth Authentication Handler
  • Selezionare per aprire la configurazione per la modifica
  • Seleziona Salva
Fare attenzione a non confondere il gestore di autenticazione con un'istanza Facebook o Twitter di Adobe Granite OAuth Application and Provider .

Applicazione e provider OAuth di Adobe Granite

Quando viene creato un servizio cloud per Facebook o Twitter, Adobe Granite OAuth Authentication Handler viene creata un’istanza di
Per individuare l'istanza creata per un'app Facebook o Twitter:
  1. Effettuate l'accesso con privilegi di amministratore.
  2. Passate alla console Configurazione di OSGi Web.
    Ad esempio, http://localhost:4503/system/console/configMgr.
  3. Individuate l'applicazione e il provider OAuth di Adobe Granite.
    • Individuate l'istanza in cui l'ID ​client corrisponde all'ID app
    Ad eccezione delle seguenti proprietà, lasciare invariate le altre proprietà della configurazione:
    • ID configurazione
      ( Obbligatorio ) Gli ID di configurazione OAuth devono essere univoci. Generazione automatica quando viene creato il servizio cloud.
    • ID client
      ( Obbligatorio ) L'ID applicazione fornito al momento della creazione del servizio cloud.
    • Segreto client
      ( Obbligatorio ) Il segreto dell'applicazione fornito al momento della creazione del servizio cloud.
    • Ambito
      ( Facoltativo ) È possibile richiedere al provider un ambito aggiuntivo per quanto consentito. L'ambito predefinito copre le autorizzazioni necessarie per fornire l'autenticazione social e i dati del profilo.
    • ID fornitore
      ( Obbligatorio ) L'ID fornitore per AEM Communities viene impostato al momento della creazione del servizio cloud. Non modificare. Per Facebook Connect, il valore è Facebook . Per Twitter Connect, il valore è soco-twitter .
    • Gruppi
      ( consigliato ) Uno o più gruppi di membri a cui vengono aggiunti gli utenti creati. Per AEM Communities, si consiglia di elencare il gruppo di membri per il sito community.
    • URL callback
      ( Facoltativo ) URL configurato con i provider OAuth per reindirizzare il client. Utilizzate un URL relativo per utilizzare l'host della richiesta originale. Lasciate vuoto per usare l’URL originariamente richiesto. Il suffisso "/callback/j_security_check" viene aggiunto automaticamente a questo URL.
    Il dominio per il callback deve essere registrato con il provider (Facebook o Twitter).
Per ogni configurazione del gestore di autenticazione OAuth, nell'istanza sono state create due configurazioni aggiuntive:
  • Gestore di sincronizzazione predefinito Apache Jackrabbit Oak (org.apache.jackrabbit.oak.security.authentication.external.impl.DefaultSyncHandler) - Non sono necessarie modifiche, ma è possibile esaminare le mappature dei campi utente in modo che i campi Facebook siano mappati a un nodo di profilo utente CQ. Inoltre, 'Sync Handler Name' corrisponde all'ID di configurazione del provider OAuth.
  • Modulo di accesso esterno Apache Jackrabbit Oak (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory) - Non sono necessarie modifiche, ma potete notare che 'Nome provider identità' e 'Nome gestore sincronizzazione' sono uguali e puntare rispettivamente alle corrispondenti configurazioni OAuth e del gestore di sincronizzazione.
Per ulteriori informazioni, consultate Autenticazione con modulo di login esterno Apache Oak.

Prestazioni delle transizioni utente OAuth

Per i siti della community che visualizzano centinaia di migliaia di utenti registrati con il proprio login Facebook o Twitter, le prestazioni traverse della query eseguite quando un visitatore del sito utilizza il proprio profilo sociale possono essere migliorate aggiungendo il seguente indice Oak.
Se nei registri sono visibili avvisi di attraversamento, è consigliabile aggiungere questo indice.
Per un’istanza di authoring, effettuate l’accesso con privilegi amministrativi:
  1. Dalla navigazione globale: selezionare Strumenti, CRX/DE Lite .
  2. Create un indice denominato ntBaseLucene-oauth da una copia di ntBaseLucene:
    • Sotto il nodo /oak:index
    • Seleziona il nodo ntBaseLucene
    • Seleziona copia
    • Seleziona /oak:index
    • Seleziona Incolla
    • Rinomina copia di ntBaseLucene in ntBaseLucene-oauth
  3. Modificare le proprietà del nodo ntBaseLucene-oauth:
    • indexPath : /oak:index/ntBaseLucene-oauth
    • name : oauthid-123xxxx
    • reindex :true
    • reindexCount : 1
  4. Sotto il nodo /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:
    • Eliminate tutti i nodi secondari, ad eccezione di cqTags.
    • Rinominare cqTags in oauthid-123xxxx
    • Modifica le proprietà del nodo oauthid-123xxxx
      • name : oauthid-123xxxx
    • Selezionate Salva tutto .
​&ast; Per il nome oauthid- 123 , sostituisci 123 con l’ID app Facebook o la chiave Twitter​ ** Applicazione e provider OAuth di Adobe Granite Consumer (API) che è il valore dell’ID client nella configurazione dell’applicazione OAuth e del provider OAuth di Adobe Granite.
Per ulteriori informazioni e strumenti, consultate Query quercia e indicizzazione .

Dispatcher Configuration