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 loro profilo membro AEM.

sociinweretail

Panoramica di accesso tramite social network

Per includere il login sociale, è *obbligatorio *per creare applicazioni Facebook e Twitter personalizzate.

L'esempio di commercio 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 AEM pubblicazione.

    Senza OAuth abilitato, i tentativi di accesso non riescono.

  2. ​Creare un'app social e un servizio cloud.

  3. Abilita accesso sociale per un sito community.

Esistono due concetti fondamentali:

  1. Scope (permissions) specifica i dati che l'app può richiedere.

  2. Fields (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 il login per social network è stato aggiornato per funzionare con la nuova versione di Facebook Graph API 2.5.

NOTA

Per le versioni AEM precedenti, se si riscontra un'eccezione nei registri Impossibile estrarre un token da questo, eseguire l'aggiornamento all'ultimo CFP per la versione AEM.

Per le informazioni sulla versione dell'API di Facebook Graph, consultate la finestra di dialogo delle 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, seguire 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, immettere 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 le pagine, ma può essere qualsiasi cosa.
    • Aggiungi prodotto: Login Facebook
      • Per URI di reindirizzamento OAuth validi, immettere https://<server>:<port>.
NOTA

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 di Facebook.

Creare un Cloud Service di Facebook Connect

L'istanza Adobe Granite OAuth Application and Provider, creata creando un'istanza di configurazione del servizio cloud, identifica l'applicazione Facebook e i gruppi membri ai quali vengono aggiunti i nuovi utenti.

  1. Nell’istanza di creazione AEM, effettuate l’accesso con privilegi di amministratore.

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

  3. Selezionare la configurazione 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. Vai a Strumenti > Generale > Browser di configurazione. Seleziona il contesto e modifica le proprietà. Abilita configurazioni cloud se non ancora abilitata.

    config-properties

  6. Crea/Modifica la configurazione del servizio cloud di Facebook.

    fbsociloginconfigpng

    • Titolo (obbligatorio) Immettete un titolo di visualizzazione che identifichi l’app Facebook. Si consiglia di utilizzare lo stesso nome immesso come Display Name per l'app Facebook.
    • ID app/ChiaveAPI (richiesta) Immettere l' ID app per l'app Facebook. Questo 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 utentiSe 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.
    NOTA

    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.

    • Selezionare SAVE.
    • Pubblicazione.

Il risultato è un'istanza Adobe Granite OAuth Application and 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 il sistema o la console, evitate di modificare le configurazioni del servizio cloud dall’interfaccia touch per evitare la sovrascrittura.

AEM Communities Facebook OAuth Provider

Il provider AEM Communities estende l'istanza Granite OAuth Application and Provider del Adobe.

Questo provider richiederà la modifica per:

  • Consenti aggiornamenti utente

  • Aggiungi altri campi 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. Andate alla console Web. Ad esempio, http://localhost:4503/system/console/configMgr.

  3. Individuate fornitore OAuth di AEM Communities Facebook.

  4. Selezionate l’icona 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/ 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 il percorso 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 a Facebook della documentazione di Facebook. I campi predefiniti aggiunti come parametri sono:

      • id
      • name
      • 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 sia per Facebook che per Twitter:

Login Twitter

Creare un'app Twitter

Per abilitare l'accesso ai 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. Inserite un Nome che identificherà l'applicazione Twitter per gli utenti del sito Web.

  2. Inserire una descrizione.

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

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

    NOTA

    Non è necessario specificare la porta.

    Per lo sviluppo, https://127.0.0.1/ funzionerà.

  5. Una volta creata l'applicazione, individuare il Consumer (API) Key e Consumer (API) Secret. 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 eseguita per l'accesso tramite social network è Account/verifica credenziali.

Creare un Cloud Service di Twitter Connect

L'istanza Adobe Granite OAuth Application and Provider, creata creando un'istanza di configurazione del 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 > Cloud Services > Configurazione di accesso a Twitter Social.

  3. Scegliere la configurazione 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. Vai a Strumenti > Generale > Browser di configurazione. Seleziona il contesto e modifica le proprietà. Abilita configurazioni cloud se non ancora abilitata.

    twitterconfigpropping

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

    twittersociloginping

    • Titolo (obbligatorio) Immettete un titolo di visualizzazione che identifichi l’app Twitter. Si consiglia di utilizzare lo stesso nome immesso come Display Name per l'app Twitter.

    • Chiave consumer (richiesta) Immetti la chiave API (Consumer) per l'app Twitter. Questo identifica l'istanza Adobe Granite OAuth Application and Provider creata dalla finestra di dialogo.

    • Segreto del consumatore (obbligatorio) Inserisci il Consumer(API) Secretary per l'app Twitter.

    • Crea utentiSe 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 utenteLascia 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.

    NOTA

    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. Selezionare SAVE e Publish.

Il risultato è un'istanza Adobe Granite OAuth Application and Provider che non richiede ulteriori modifiche. L’ambito predefinito è quello standard per le autorizzazioni di accesso a Twitter.

provider OAuth di AEM Communities Twitter

La configurazione AEM Communities estende l'istanza Granite OAuth Application and Provider del Adobe. 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. Andate alla console Web.

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

  3. Individuate fornitore OAuth di AEM Communities Twitter.

  4. Selezionate l’icona 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 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 il percorso predefinito /home/users/community.

    • Abilita parametri non modificare

    • 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 sia per Facebook che per Twitter:

Abilita accesso tramite social network

della console di AEM Communities Sites

Una volta configurato, il servizio cloud può essere abilitato per l'impostazione Accesso social network pertinente per un sito community tramite il sottopannello Gestione utente Impostazioni durante la creazione del sito community a3/> o gestione.

  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.

    managesites_png

  3. Nella scheda Settings (Impostazioni), abilita Social Logins e Salva.

    usermgmt_png

Test login social network

  • Verificare che Adobe Granite OAuth Authentication Handler sia stato abilitato su tutte le istanze di pubblicazione
  • Verificate che i servizi cloud siano stati pubblicati
  • Verificare la pubblicazione del sito community
  • Avviare il sito pubblicato in un browser
    Ad esempio, http://localhost:4503/content/sites/engage/en.html
  • Selezionare Accesso in
  • Selezionare 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
  • Selezionare 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 AEM piattaforma

Gestore autenticazione OAuth Adobe Granite

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

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

  • Accesso con privilegi di amministratore
  • Passa alla console 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

chlimage_1-489

ATTENZIONE

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

chlimage_1-490

applicazione e provider OAuth Granite del Adobe

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

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

  1. Effettuate l'accesso con privilegi di amministratore.

  2. Andate alla console Web.

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

  3. Individuate 'applicazione e il provider OAuth Granite del Adobe.

    • Individuate l'istanza in cui l' ID client corrisponde all' 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) È 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 provider 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

      (URL opzionale) 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.

    NOTA

    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, vedere Autenticazione con il modulo di login esterno Apache Oak.

Prestazioni delle transizioni dell'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
    • Selezionare Copia
    • Seleziona /oak:index
    • Selezionare 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
    • Selezionare Salva tutto.

&ast; Per ​nameoauthid-123, sostituire 123 con Facebook App ID o Twitter Consumer (API) Keyser che è il valore di ClientIDnella configurazione Granite OAuth e SDKAdobe.

chlimage_1-492

Per ulteriori informazioni e strumenti, fare riferimento a Query e indicizzazione quercia.

Configurazione del dispatcher

Vedere Configurazione del dispatcher per Communities.

In questa pagina