Accesso social con Facebook e Twitter social-login-with-facebook-and-twitter

CAUTION
AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

L'accesso per social network è 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.

sociweretail

Panoramica dell’accesso social network social-login-overview

Per includere l'accesso social, è *obbligatorio *per creare applicazioni Facebook e Twitter personalizzate.

Mentre l’esempio di we-retail fornisce app e servizi cloud di esempio per Facebook e Twitter, non sono disponibili su un sito web di produzione.

I passaggi necessari sono i seguenti:

  1. Abilita autenticazione OAuth su tutte AEM istanze di pubblicazione.

    Senza OAuth abilitato, i tentativi di accesso non riescono.

  2. Crea un’app social e un servizio cloud.

  3. Abilita accesso social 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.

Accesso facebook facebook-login

Versione API di facebook facebook-api-version

L’accesso a Social e l’esempio di Facebook per la vendita al dettaglio sono stati sviluppati quando l’API grafico di Facebook era versione 1.0.
A partire da AEM 6.4 GA e AEM 6.3 SP1 l’accesso social è stato aggiornato per funzionare con la nuova versione di Facebook Graph API 2.5.

NOTE
Per le versioni AEM precedenti, se si sta riscontrando un'eccezione nei registri Impossibile estrarre un token da questo, effettua l’aggiornamento all’ultimo CFP per tale versione AEM.

Per informazioni sulla versione dell’API grafico di Facebook, consulta la sezione changelog API di facebook.

Creare un’app Facebook create-a-facebook-app

Per abilitare l'accesso social a Facebook è necessaria un'applicazione Facebook configurata correttamente.

Per creare un'applicazione Facebook, segui le istruzioni Facebook disponibili all'indirizzo https://developers.facebook.com/apps/. Le modifiche alle relative istruzioni non sono riportate nelle informazioni seguenti.

In generale, a partire dall’API Facebook v2.7:

  • Aggiungi una nuova app Facebook:

    • Per Piattaforma, scegli Sito Web
      • Per URL sito, inserisci https://<server>:<port>.
    • Per Nome visualizzato, inserisci un titolo da utilizzare come titolo del servizio di connessione Facebook.
    • Per Categoria, scelta consigliata App per le pagine, ma può essere qualsiasi cosa.
    • Aggiungi prodotto: Accesso facebook
      • Per URI di reindirizzamento OAuth validi, inserisci https://<server>:<port>.
NOTE
Per lo sviluppo, http://localhost:4503 funzionerà.

Una volta creata l'applicazione, individua la ID app e Segreto app impostazioni. Queste informazioni sono necessarie per configurare il Servizio cloud facebook.

Creare un Cloud Service Facebook Connect create-a-facebook-connect-cloud-service

La Applicazione e provider OAuth di Adobe Granite istanza, creata mediante la creazione di una configurazione del servizio cloud, identifica l’applicazione Facebook e il gruppo o i gruppi di membri a cui vengono aggiunti i nuovi utenti.

  1. Nell’istanza di authoring AEM, accedi con privilegi di amministratore.

  2. Dalla navigazione globale, seleziona Strumenti > Cloud Services > Configurazione accesso Facebook Social.

  3. Seleziona la configurazione percorso del contesto.

    Percorso del contesto deve corrispondere al percorso di configurazione cloud selezionato durante la creazione/modifica di un sito community.

  4. Controlla se il percorso contestuale è abilitato per creare servizi cloud sotto di esso.

  5. Vai a Strumenti > Generale > Browser di configurazione. Seleziona il tuo contesto e modifica le proprietà. Abilita le configurazioni cloud se non ancora abilitate.

    config-propertiespng

  6. Creare/modificare la configurazione del servizio cloud Facebook.

    fbsociloginconfigpng

    • Titolo (Obbligatorio) Immetti 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/chiave API (Obbligatorio) Inserisci il ID app per l’app Facebook. In questo modo si identificano le Applicazione e provider OAuth di Adobe Granite istanza creata dalla finestra di dialogo.
    • Segreto app (Obbligatorio) Inserisci il Segreto app per l’app Facebook.
    • Creare utenti Se questa opzione è selezionata, 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).
    • Maschera ID utente: Lascia deselezionato .
    • Ambito e-mail: l’id e-mail dell’utente deve essere recuperato da Facebook.
    • Aggiungi a gruppi di utenti seleziona Aggiungi gruppo di utenti per scegliere uno o più gruppi di membri per il sito community a cui verranno aggiunti gli utenti.
    note note
    NOTE
    I gruppi possono essere aggiunti o rimossi in qualsiasi momento. Ma le appartenenze degli utenti esistenti non saranno influenzate. L'iscrizione automatica si applica solo ai nuovi utenti creati dopo l'aggiornamento del campo. Per i siti in cui gli utenti anonimi sono disabilitati, scegliere di aggiungere utenti al gruppo corrispondente di membri della community destinato a quel sito community chiuso.
    • Seleziona SALVA.
    • Pubblicazione.

Il risultato è un Applicazione e provider OAuth di Adobe Granite istanza che non richiede ulteriori modifiche a meno che non aggiunga ulteriore ambito (autorizzazioni). L’ambito predefinito è quello standard per l’accesso a Facebook. Se desideri un ambito aggiuntivo, è necessario modificare direttamente la configurazione OSGI. In caso di modifiche effettuate direttamente tramite sistema/console, evita di modificare le configurazioni del servizio cloud dall’interfaccia utente touch per evitare la sovrascrittura.

Provider OAuth di AEM Communities Facebook aem-communities-facebook-oauth-provider

Il provider AEM Communities estende la Applicazione e provider OAuth di Adobe Granite istanza.

Questo provider richiederà la modifica per:

  • Consenti aggiornamenti utente

  • Aggiungi campi aggiuntivi ambito

    • Per impostazione predefinita non tutti i campi consentiti per impostazione predefinita sono inclusi.

Se è necessaria la modifica, su ogni istanza di pubblicazione AEM:

  1. Accedi con privilegi di amministratore.

  2. Passa a Console web. Ad esempio, http://localhost:4503/system/console/configMgr.

  3. Individua il provider OAuth di AEM Communities Facebook.

  4. Seleziona l’icona a forma di matita da aprire per la modifica.

    fboauthprov_png

    • ID provider OAuth

      (Obbligatorio) Il valore predefinito è soco-facebook. Non modificare.

    • Configurazione Cloud Service

      Il valore predefinito è /etc/ servizi cloud / facebookconnect. Non modificare.

    • Configurazione del servizio del provider OAuth

      Il valore predefinito è /apps/social/facebookprovider/config/. Non modificare.

    • Abilita tag

      Non modificare.

    • Percorso utente

      Posizione nella directory archivio in cui sono archiviati i dati utente. Per un sito della community, per garantire ai membri le autorizzazioni necessarie per visualizzare il profilo degli altri, il percorso deve essere quello predefinito /home/users/community.

    • Abilita campi

      Se questa opzione è selezionata, i campi elencati vengono specificati nella richiesta ad Facebook per l’autenticazione e le informazioni dell’utente. Il valore predefinito è deselezionato.

    • Campi

      Quando i campi sono abilitati, i campi seguenti sono inclusi quando si chiama l’API grafico di Facebook. I campi devono essere consentiti all’interno dell’ambito definito nella configurazione del servizio cloud. Per ulteriori campi potrebbe essere necessaria l’approvazione di Facebook. Consulta la sezione Autorizzazioni di accesso Facebook della documentazione Facebook . I campi predefiniti aggiunti come parametri sono:

      • id
      • name
      • nome_primo
      • cognome
      • collegamento
      • lingua
      • picture
      • fuso orario
      • update_time
      • verificato
      • e-mail

    Se viene aggiunto o modificato un campo, aggiorna la configurazione del gestore di sincronizzazione predefinita corrispondente per correggere la mappatura.

    • Aggiorna utente
      Se questa opzione è selezionata, aggiorna i dati utente nell’archivio a ogni accesso per riflettere le modifiche del profilo o i dati aggiuntivi richiesti. Il valore predefinito è deselezionato.

Passaggi successivi next-steps

I passaggi successivi sono gli stessi per Facebook e Twitter:

Accesso twitter twitter-login

Creare un’app Twitter create-a-twitter-app

Per abilitare l’accesso social a Twitter è necessaria un’applicazione Twitter configurata.

Segui le istruzioni più recenti per creare una nuova applicazione Twitter all’indirizzo https://apps.twitter.com.

In generale:

  1. Inserisci un Nome in modo da identificare l’applicazione Twitter per gli utenti del sito web.

  2. Inserisci un Descrizione.

  3. Per sito web - immetti https://<server>/.

  4. Per URL di callback - immetti https://<server>/.

    note note
    NOTE
    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) e Segreto consumer (API). Queste informazioni saranno necessarie per configurare il Servizio cloud twitter.

Autorizzazioni permissions

Nella sezione delle autorizzazioni di gestione dell'applicazione Twitter:

  • Accesso: Seleziona Read only.

    • Altre opzioni non sono supportate
  • Autorizzazioni aggiuntive: Facoltativamente scegliere 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 passaggi da intraprendere.

L’unica richiesta REST effettuata per l’accesso social è di GET account/verifica credenziali.

Creare un Cloud Service Twitter Connect create-a-twitter-connect-cloud-service

La Applicazione e provider OAuth di Adobe Granite istanza, creata mediante la creazione di una configurazione del servizio cloud, identifica l’applicazione Twitter e il gruppo o i gruppi di membri a cui vengono aggiunti i nuovi utenti.

  1. Nell’istanza di authoring, accedi con privilegi di amministratore.

  2. Dalla navigazione globale, seleziona Strumenti > Cloud Services > Configurazione accesso Twitter Social.

  3. Scegli la percorso del contesto configurazione.

    Il percorso contestuale deve corrispondere al percorso di configurazione cloud selezionato durante la creazione/modifica di un sito della community.

  4. Controlla se il percorso contestuale è abilitato per creare servizi cloud sotto di esso.

  5. Vai a Strumenti > Generale > Browser di configurazione. Seleziona il tuo contesto e modifica le proprietà. Abilita le configurazioni cloud se non ancora abilitate.

    twitterconfigpropping

  6. Creare/modificare la configurazione del servizio cloud Twitter.

    twittersociloginpng

    • Titolo (Obbligatorio) Immetti 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 (Obbligatorio) Inserisci il Chiave consumer (API) per l’app Twitter. In questo modo si identificano le Applicazione e provider OAuth di Adobe Granite istanza creata dalla finestra di dialogo.

    • Segreto consumer (Obbligatorio) Inserisci il Segreto consumer(API) per l’app Twitter.

    • Creare utenti Se questa opzione è selezionata, 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 seleziona Aggiungi gruppo di utenti per scegliere uno o più gruppi di membri per il sito community a cui verranno aggiunti gli utenti.

    note note
    NOTE
    I gruppi possono essere aggiunti o rimossi in qualsiasi momento. Ma le appartenenze degli utenti esistenti non saranno influenzate. L'iscrizione automatica si applica solo ai nuovi utenti creati dopo l'aggiornamento del campo. Per i siti in cui gli utenti anonimi sono disabilitati, aggiungi gli utenti al gruppo di membri della community corrispondente destinato a quel sito community chiuso.
  7. Seleziona SALVA e Pubblica.

Il risultato è un Applicazione e provider OAuth di Adobe Granite istanza che non richiede ulteriori modifiche. L’ambito predefinito è quello standard per l’accesso a Twitter.

Provider OAuth di AEM Communities Twitter aem-communities-twitter-oauth-provider

La configurazione di AEM Communities estende Applicazione e provider OAuth di Adobe Granite istanza. Questo provider richiederà modifiche per consentire gli aggiornamenti degli utenti.

Se è necessaria la modifica, su ogni istanza di pubblicazione AEM:

  1. Accedi con privilegi di amministratore.

  2. Passa a Console web.

    Ad esempio, http://localhost:4503/system/console/configMgr.

  3. Individua il provider OAuth di AEM Communities Twitter.

  4. Seleziona l’icona a forma di matita da aprire per la modifica.

    twitteroauth_png

    • ID provider OAuth (Obbligatorio)

      Il valore predefinito è soco-twitter. Non modificare.

    • Configurazione Cloud Service

      Il valore predefinito è conf. Non modificare.

    • Configurazione del servizio del provider OAuth

      Il valore predefinito è /apps/social/twitterprovider/config/. Non modificare.

    • Percorso utente

      Posizione nella directory archivio in cui sono archiviati i dati utente. Per un sito della community, per garantire ai membri le autorizzazioni necessarie per visualizzare il profilo degli altri, il percorso deve essere quello predefinito /home/users/community.

    • Abilita parametri non modificare

    • Parametri URL non modificare

    • Aggiorna utente

      Se questa opzione è selezionata, aggiorna i dati utente nell’archivio a ogni accesso per riflettere le modifiche del profilo o i dati aggiuntivi richiesti. Il valore predefinito è deselezionato.

Passaggi successivi next-steps-1

I passaggi successivi sono gli stessi per Facebook e Twitter:

Abilita accesso social enable-social-login

Console AEM Communities Sites aem-communities-sites-console

Una volta configurato, il servizio cloud può essere abilitato per l’impostazione di accesso social pertinente per un sito community utilizzando Gestione utente Pannello secondario Impostazioni durante il sito community creazione o gestione.

  1. Scegli il contesto di configurazione del sito in cui hai salvato le configurazioni di accesso social.

  2. Nella scheda Generale, imposta le configurazioni cloud.

    managesites_png

  3. Nella scheda Impostazioni , abilita Accesso a Social e Salva.

    usermgmt_png

Verifica accesso social test-social-login

  • Assicurati Gestore autenticazione OAuth di Adobe Granite è stato abilitato su tutte le istanze di pubblicazione
  • Verifica che i servizi cloud siano stati pubblicati
  • Assicurati che il sito della community sia stato pubblicato
  • Avvia il sito pubblicato in un browser Ad esempio, http://localhost:4503/content/sites/engage/en.html
  • Seleziona Accesso
  • Seleziona o Accesso con Facebook o Accesso con Twitter
  • Se non hai già effettuato l'accesso a Facebook o Twitter, accedi 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 per riflettere l’accesso eseguito correttamente
  • Seleziona Profilo: nella pagina Profilo viene visualizzata l’immagine avatar dell’utente, il nome e il cognome. Inoltre, visualizza le informazioni dal profilo Facebook o Twitter in base ai campi/parametri consentiti.

Configurazioni OAuth della piattaforma AEM aem-platform-oauth-configurations

Gestore autenticazione OAuth di Adobe Granite adobe-granite-oauth-authentication-handler

La Adobe Granite OAuth Authentication Handler non è abilitato per impostazione predefinita e deve essere abilitata su tutte le istanze di pubblicazione AEM.

Per abilitare il gestore di autenticazione al momento della pubblicazione, è sufficiente aprire la configurazione OSGi e salvarla:

  • Accesso con privilegi di amministratore
  • Passa a Console web
    Ad esempio, http://localhost:4503/system/console/configMgr
  • Individua Adobe Granite OAuth Authentication Handler
  • Seleziona per aprire la configurazione per la modifica
  • Seleziona Salva

chlimage_1-489

CAUTION
Fai attenzione a non confondere il gestore di autenticazione con un'istanza Facebook o Twitter di Applicazione e provider OAuth di Adobe Granite.

chlimage_1-490

Applicazione e provider OAuth di Adobe Granite adobe-granite-oauth-application-and-provider

Quando viene creato un servizio cloud per Facebook o Twitter, viene creata un'istanza di Adobe Granite OAuth Authentication Handler viene creato.

Per individuare l'istanza creata per un'app Facebook o Twitter:

  1. Accedi con privilegi di amministratore.

  2. Passa a Console web.

    Ad esempio, http://localhost:4503/system/console/configMgr.

  3. Individua l’applicazione e il provider OAuth di Adobe Granite.

    • Individua l’istanza in cui ID client corrisponde a ID app

    chlimage_1-491

    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) Il provider può richiedere un ulteriore ambito per ciò che è consentito. L'ambito predefinito copre le autorizzazioni necessarie per fornire l'autenticazione social e i dati di 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 è soco-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 nuovamente il client. Utilizza un URL relativo per utilizzare l’host della richiesta originale. Lascia vuoto per utilizzare invece l’URL originariamente richiesto. Il suffisso "/callback/j_security_check" viene aggiunto automaticamente a questo url .

    note note
    NOTE
    Il dominio del 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:

  • Apache Jackrabbit Oak Default Sync Handler (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler) - Non sono necessarie modifiche, ma puoi guardare le mappature dei campi utente in cui i campi Facebook sono mappati su un nodo di profilo utente CQ. Inoltre, 'Sync Handler Name' corrisponde all'ID di configurazione della 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 si può notare che 'Nome provider identità' e 'Nome gestore sincronizzazione' sono uguali e puntano rispettivamente alle corrispondenti configurazioni OAuth e del gestore di sincronizzazione.

Per ulteriori informazioni, consulta Autenticazione con modulo di accesso esterno Apache Oak.

Prestazioni di trasferimento degli utenti OAuth oauth-user-traversal-performance

Per i siti della community in cui centinaia di migliaia di utenti si registrano utilizzando il proprio accesso Facebook o Twitter, le prestazioni traverse della query eseguita quando un visitatore del sito utilizza il proprio accesso social possono essere migliorate aggiungendo il seguente indice Oak.

Se nei registri sono visualizzati avvisi traversal, è consigliabile aggiungere questo indice.

Su un'istanza di authoring, connesso con privilegi amministrativi:

  1. Dalla navigazione globale: select Strumenti, CRX/DE Lite.

  2. Crea 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. Modifica le proprietà del nodo ntBaseLucene-oauth:

    • indexPath: /oak:index/ntBaseLucene-oauth
    • name: oauthid-123xxxx
    • reindicizzare: true
    • reindexCount: 1
  4. Sotto il nodo /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:

    • Elimina tutti i nodi figlio, ad eccezione di cqTags.

    • Rinomina cqTags in oauthid-123xxxx

    • Modifica le proprietà del nodo oauthid-123xxxx

      • name: oauthid-123xxxx
    • Seleziona Salva tutto.

* Per name oauthid 123, sostituisci 123 con Facebook ID app o Twitter Chiave consumer (API) che è il valore del ID client in Applicazione e provider OAuth di Adobe Graniteconfigurazione.

chlimage_1-492

Per ulteriori informazioni e strumenti, consulta Query e indicizzazione Oak.

Configurazione del Dispatcher dispatcher-configuration

Vedi Configurazione di Dispatcher per Communities.

recommendation-more-help
5d37d7b0-a330-461b-814d-068612705ff6