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

L’accesso tramite social network consente a un visitatore del sito di accedere con il proprio account Facebook o di Twitter. Pertanto, includere i dati Facebook o di Twitter consentiti nel loro profilo di membro AEM.

socialloinweretail

Panoramica accesso social network social-login-overview

Per includere l'accesso tramite social network, è necessario creare applicazioni Facebook e di Twitter personalizzate.

L'esempio We-Retail fornisce app Facebook e di Twitter di esempio e servizi cloud, ma non è disponibile in un sito Web di produzione.

I passaggi necessari sono:

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

    Se OAuth non è abilitato, i tentativi di accesso non riescono.

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

  3. Attiva accesso social per un sito community.

Esistono due concetti di base:

  1. Ambito (autorizzazioni) specifica i dati che l'app può richiedere.

  2. Campi (parametri) specifica i dati effettivi richiesti utilizzando i parametri URL.

Accesso a facebook facebook-login

Versione API facebook facebook-api-version

L’accesso social e l’esempio di Facebook we-retail sono stati sviluppati quando la versione 1.0 dell’API Graph di Facebook.
A partire da AEM 6.4 GA e AEM 6.3 SP1, l’accesso social è stato aggiornato per funzionare con la nuova versione dell’API 2.5 di Facebook Graph.

NOTE
Per le versioni AEM precedenti, se si verifica un'eccezione nei registri Impossibile estrarre un token da questo, eseguire l'aggiornamento al CFP più recente per quella versione AEM.

Per informazioni sulla versione dell'API di Facebook Graph, vedere il registro delle modifiche dell'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, seguire le istruzioni di Facebook all'indirizzo https://developers.facebook.com/apps/. Le modifiche alle loro istruzioni non vengono riportate nelle informazioni seguenti.

In generale, a partire da Facebook API v2.7:

  • Aggiungi una nuova app Facebook

    • Per Platform, scegliere Sito Web:

      • Per URL sito, immettere https://<server>:<port>.
      • Per Nome visualizzato, immettere un titolo da utilizzare come Titolo del servizio Facebook connect.
      • Per Categoria, si consiglia di scegliere App per le pagine, ma può essere qualsiasi cosa.
      • Aggiungi prodotto: accesso Facebook
      • Per URI di reindirizzamento OAuth validi, immettere https://<server>:<port>.
NOTE
Per lo sviluppo, http://localhost:4503 funzionerà.

Una volta creata l'applicazione, individuare le impostazioni ID app e Segreto app. Queste informazioni sono necessarie per configurare il servizio cloud Facebook.

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

L'istanza del provider e dell'applicazione OAuth Adobe Granite, creata mediante la creazione di una configurazione del servizio cloud, identifica l'applicazione Facebook e i gruppi di membri a cui vengono aggiunti i nuovi utenti.

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

  2. Dalla navigazione globale, seleziona Strumenti > Cloud Service > Configurazione accesso social network tramite Facebook.

  3. Selezionare il percorso di contesto della configurazione.

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

  4. Verifica se il percorso di contesto è abilitato per la creazione di servizi cloud al di sotto di esso.

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

    config-propertiespng

  6. Crea/Modifica configurazione servizio cloud Facebook.

    fbsocialloinconfigpng

    • Titolo (Obbligatorio) Immettere un titolo di visualizzazione che identifichi l'app Facebook. Utilizza lo stesso nome immesso come Nome visualizzato per l'app Facebook.
    • ID app/Chiave API (Obbligatorio) Immetti ID app per l'app Facebook. Identifica l'istanza Adobe Granite OAuth Application and Provider creata dalla finestra di dialogo.
    • Segreto app (Obbligatorio) Immetti il Segreto app per l'app Facebook.
    • Crea utenti Se questa opzione è selezionata, l'accesso con un account Facebook creerà una voce utente AEM e le aggiungerà come membri ai gruppi di utenti selezionati. Il valore predefinito è selezionato (scelta consigliata).
    • Maschera ID utente: lascia deselezionata.
    • E-mail ambito: l'ID e-mail dell'utente deve essere recuperato da Facebook.
    • Aggiungi a gruppi utenti selezionare Aggiungi gruppo utenti per scegliere uno o più gruppi membri per il sito community a cui verranno aggiunti gli utenti.
    note note
    NOTE
    È possibile aggiungere o rimuovere gruppi in qualsiasi momento. Tuttavia, le appartenenze degli utenti esistenti non vengono influenzate. L’iscrizione automatica si applica solo ai nuovi utenti creati dopo l’aggiornamento di questo campo. Per i siti in cui gli utenti anonimi sono disabilitati, scegliere di aggiungere gli utenti al gruppo di membri della community corrispondente destinato a quel sito chiuso.
    • Seleziona SALVA.
    • Publish.

Il risultato è un'istanza di Adobe Granite OAuth Application and Provider che non richiede ulteriori modifiche a meno che non si aggiunga ulteriore ambito (autorizzazioni). L'ambito predefinito è quello standard per l'accesso a Facebook. Se desideri un ambito aggiuntivo, devi modificare direttamente la configurazione OSGI. Se sono state apportate modifiche direttamente tramite il sistema o la 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 l'istanza di Adobe Granite OAuth Application and Provider.

Questo provider dovrà essere modificato per:

  • Consenti aggiornamenti utente

  • Aggiungi campi aggiuntivi all'interno dell'ambito

    • Non tutti i campi consentiti per impostazione predefinita sono inclusi.

Se è necessario apportare modifiche, in ogni istanza di pubblicazione dell’AEM:

  1. Accedi con privilegi di amministratore.

  2. Passare alla 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

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

    • Configurazione Cloud Service

      Il valore predefinito è /etc/ cloudservices / facebookconnect. Non modificare.

    • Configurazione servizio provider OAuth

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

    • Abilita tag

      Non modificare.

    • Percorso utente

      Posizione nell'archivio in cui vengono memorizzati i dati utente. Per un sito di community, per garantire le autorizzazioni per i membri per visualizzare il profilo di un altro utente, il percorso deve essere il percorso predefinito /home/users/community.

    • Abilita campi

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

    • Campi

      Quando i campi sono abilitati, i campi seguenti vengono inclusi nella chiamata all’API di Facebook Graph. I campi devono essere consentiti nell’ambito definito nella configurazione del servizio cloud. Campi aggiuntivi possono richiedere l’approvazione di Facebook. Consulta la sezione Autorizzazioni di accesso di Facebook nella documentazione di Facebook. I campi predefiniti aggiunti come parametri sono:

      • id
      • nome
      • nome
      • cognome
      • collegamento
      • lingua
      • immagine
      • fuso orario
      • ora_aggiornamento
      • verificato
      • e-mail

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

    • Aggiorna utente

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

Passaggi successivi next-steps

I passaggi successivi sono gli stessi sia per Facebook che per Twitter:

Accesso twitter twitter-login

Creazione di un'app di Twitter create-a-twitter-app

È necessaria un'applicazione di Twitter configurata per abilitare l'accesso social network del Twitter.

Segui le istruzioni più recenti per creare un'applicazione di Twitter all'indirizzo https://apps.twitter.com.

In generale:

  1. Immetti un Nome che identificherà l'applicazione di Twitter per gli utenti del sito Web.

  2. Immetti una Descrizione.

  3. Per il sito Web - immettere https://<server>.

  4. Per URL callback - immettere 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, individuare la chiave consumer (API) e il segreto consumer (API). Queste informazioni saranno necessarie per configurare il servizio cloud Twitter.

Autorizzazioni permissions

Nella sezione Autorizzazioni di Gestione applicazioni di Twitter:

  • Accesso: Selezionare Read only.

    • Altre opzioni non sono supportate
  • Autorizzazioni aggiuntive: è possibile scegliere Request email addresses from users.

    • Se non viene selezionato, il profilo utente in AEM non includerà il proprio indirizzo e-mail.
    • Istruzioni del twitter: ulteriori passi da intraprendere.

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

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

L'istanza del provider e dell'applicazione OAuth Adobe Granite, creata mediante la creazione di una configurazione del servizio cloud, identifica l'applicazione di Twitter e 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 Service > Configurazione accesso social network per Twitter.

  3. Scegliere la configurazione del percorso di contesto.

    Il percorso di contesto deve corrispondere al percorso di configurazione cloud selezionato durante la creazione o la modifica di un sito community.

  4. Verifica se il percorso di contesto è abilitato per la creazione di servizi cloud al di sotto di esso.

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

    twitterconfigproppng

  6. Crea/Modifica configurazione servizio cloud di Twitter.

    twittersocialloinpng

    • Titolo

      (Obbligatorio) Immettere un titolo di visualizzazione che identifichi l'app del Twitter. Utilizza lo stesso nome immesso come Nome visualizzato per l'app di Twitter.

    • Chiave consumer

      (Obbligatorio) Immetti la Chiave consumer (API) per l'app di Twitter. Identifica l'istanza Adobe Granite OAuth Application and Provider creata dalla finestra di dialogo.

    • Segreto consumer

      (Obbligatorio) Immetti il Segreto Consumer(API) per l'app di Twitter.

    • Crea utenti

      Se questa opzione è selezionata, l'accesso con un account di Twitter creerà una voce utente AEM e la aggiungerà come membro ai gruppi di utenti selezionati. Il valore predefinito è selezionato (scelta consigliata).

    • Maschera ID utenti

      Lascia deselezionata.

    • Aggiungi a gruppi di utenti

      Selezionare Aggiungi gruppo utenti per scegliere uno o più gruppi membri per il sito community a cui verranno aggiunti gli utenti.

    note note
    NOTE
    È possibile aggiungere o rimuovere gruppi in qualsiasi momento. Tuttavia, le appartenenze degli utenti esistenti non vengono influenzate. L’iscrizione automatica si applica solo ai nuovi utenti creati dopo l’aggiornamento di questo campo. Per i siti in cui gli utenti anonimi sono disabilitati, aggiungere gli utenti al gruppo di membri della community corrispondente destinato a quel sito chiuso.
  7. Selezionare SALVA e Publish.

Il risultato è un'istanza Adobe Granite OAuth Application and Provider che non richiede ulteriori modifiche. L'ambito predefinito corrisponde alle autorizzazioni standard per l'accesso al Twitter.

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

La configurazione di AEM Communities estende l'istanza Adobe Granite OAuth Application and Provider. Questo provider richiederà modifiche per consentire gli aggiornamenti utente.

Se è necessario apportare modifiche, in ogni istanza di pubblicazione dell’AEM:

  1. Accedi con privilegi di amministratore.

  2. Passare alla console Web.

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

  3. Individua il provider OAuth del Twitter AEM Communities.

  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 servizio provider OAuth

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

    • Percorso utente

      Posizione nell'archivio in cui vengono memorizzati i dati utente. Per un sito di community, per garantire le autorizzazioni per i membri per visualizzare il profilo di un altro membro, il percorso deve essere il /home/users/community predefinito.

    • 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 al profilo o i dati aggiuntivi richiesti. Il valore predefinito è deselezionato.

Passaggi successivi next-steps-1

I passaggi successivi sono gli stessi sia per Facebook che per Twitter:

Abilita accesso social network enable-social-login

Console Sites di AEM Communities aem-communities-sites-console

Una volta configurato, il servizio cloud può essere abilitato per l'impostazione di accesso social network pertinente per un sito community utilizzando il pannello secondario Impostazioni Gestione utente durante la creazione del sito community create o management.

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

  2. Nella scheda Generale, imposta le configurazioni cloud.

    managesites_png

  3. Nella scheda Impostazioni, abilita Accessi social e Salva.

    usermgmt_png

Verifica accesso social network test-social-login

  • Verificare che il gestore di autenticazione OAuth Adobe Granite sia stato abilitato in tutte le istanze di pubblicazione.
  • Assicurati che i servizi cloud siano stati pubblicati.
  • Verificare che il sito community sia stato pubblicato.
  • Avvia il sito pubblicato in un browser.
    Ad esempio, http://localhost:4503/content/sites/engage/en.html
  • Seleziona Accesso.
  • Seleziona Accedi con Facebook o Accedi con il Twitter.
  • Se non è già stato effettuato l’accesso a Facebook o al Twitter, effettua l’accesso con le credenziali appropriate.
  • A seconda della finestra di dialogo visualizzata dall’app Facebook o di Twitter, potrebbe essere necessario concedere l’autorizzazione.
  • La barra degli strumenti nella parte superiore della pagina viene aggiornata per riflettere l’accesso riuscito.
  • Seleziona Profilo: nella pagina Profilo vengono visualizzati l'immagine avatar, il nome e il cognome dell'utente. Vengono inoltre visualizzate le informazioni del profilo Facebook o Twitter in base ai campi/parametri consentiti.

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

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

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

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

  • Accedi con privilegi di amministratore.
  • Passare alla console Web.
    Ad esempio, http://localhost:4503/system/console/configMgr
  • Individuare Adobe Granite OAuth Authentication Handler.
  • Seleziona per aprire la configurazione per la modifica.
  • Seleziona Salva.

graniteoauth

CAUTION
Fare attenzione a non confondere il gestore di autenticazione con un'istanza Facebook o di Twitter di Adobe Granite OAuth Application and Provider.

graniteoauth1

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

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

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

  1. Accedi con privilegi di amministratore.

  2. Passare alla console Web.

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

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

    • Individua l'istanza in cui ID client corrisponde all'ID app.

      graniteoauth2

      Ad eccezione delle seguenti proprietà, lascia inalterate le altre proprietà della configurazione:

    • ID configurazione

      (Obbligatorio) Gli ID configurazione OAuth devono essere univoci. Generato automaticamente al momento della creazione del 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 ciò che è consentito. L’ambito predefinito copre le autorizzazioni necessarie per fornire l’autenticazione social e i dati del profilo.

    • ID provider

      (Obbligatorio) L'ID provider per AEM Communities viene impostato al momento della creazione del servizio cloud. Non modificare. Per Facebook Connect, il valore è soco -facebook. Per Connessione Twitter, il valore è soco -twitter.

    • Gruppi

      (Consigliato) Uno o più gruppi di membri ai quali vengono aggiunti gli utenti creati. Per AEM Communities, si consiglia di elencare il gruppo di membri per il sito community.

    • URL richiamata

      (URL facoltativo) configurato con i provider OAuth per reindirizzare il client. Utilizza un URL relativo per utilizzare l’host della richiesta originale. Lascia vuoto per usare l'URL richiesto originariamente. Il suffisso "/callback/j_security_check" viene automaticamente aggiunto a questo URL .

    note note
    NOTE
    Il dominio per il callback deve essere registrato con il provider (Facebook o Twitter).

Per ogni configurazione del gestore di autenticazione OAuth, sono disponibili due configurazioni aggiuntive create nell’istanza:

  • Apache Jackrabbit Oak Default Sync Handler (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler) - Non sono necessarie modifiche in questo punto, ma puoi esaminare le mappature dei campi utente come i campi Facebook vengono mappati su un nodo del profilo utente CQ. Inoltre, "Nome gestore di sincronizzazione" 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 è possibile notare che "Identity Provider Name" e "Sync Handler Name" sono uguali e puntano rispettivamente alle configurazioni corrispondenti di OAuth e del gestore di sincronizzazione.

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

Prestazioni di attraversamento utenti OAuth oauth-user-traversal-performance

Per i siti community che registrano centinaia di migliaia di utenti utilizzando il proprio accesso Facebook o di Twitter, è possibile migliorare le prestazioni trasversali della query eseguita quando un visitatore del sito utilizza il proprio accesso social aggiungendo il seguente indice Oak.

Se nei registri vengono visualizzati avvisi di attraversamento, si consiglia di aggiungere questo indice.

In un'istanza Autore, ha effettuato l'accesso con privilegi amministrativi:

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

  2. Creare un indice denominato ntBaseLucene-oauth da una copia di ntBaseLucene:

    • Sotto il nodo /oak:index
    • Seleziona 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
    • nome: oauthid-123&#x200B;**&#x200B;**
    • reindicizza: true
    • reindexCount: 1
  4. Nel nodo /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:

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

    • Rinomina cqTags in oauthid-123**&#x200B;**

    • Modificare le proprietà del nodo oauthid-123**&#x200B;**

      • nome: oauthid-123&#x200B;**&#x200B;**
    • Seleziona Salva tutto.

  • Per name oauthid-123, sostituisci 123 con l'ID app di Facebook o la chiave Consumer (API) di Twitter che è il valore dell'ID Client nella configurazione dell'applicazione e del provider OAuth Adobe Granite.

    graniteoauth-crxde

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

Configurazione Dispatcher dispatcher-configuration

Vedere Configurazione di Dispatcher per le comunità.

recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791