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 mediante social network, è necessario 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 diproduzione.

I passaggi necessari sono:

  1. Abilitate l'autenticazione OAuth su tutte AEM istanze di pubblicazione.

    Senza OAuth abilitato, i tentativi di accesso non riescono.

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

    • Per supportare l’accesso con Facebook:

      • Create un'app Facebook.
      • Create e pubblicate un servizio cloud diFacebook Connect.
    • Per supportare l'accesso con Twitter:

      • Create un'app Twitter.
      • Create e pubblicate un servizio cloud diTwitter Connect.
  3. Abilitate il login 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 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 Non è possibile estrarre un token da questo, eseguire l'aggiornamento all'ultimo CFP per la versione 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>.
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 diFacebook.

Creare un Cloud Service Facebook Connect

L'istanza applicazione e provider OAuth Granite del Adobe, creata creando una 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 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. Go to Tools > General > Configuration Browser. Seleziona il contesto e modifica le proprietà. Abilita configurazioni cloud se non ancora abilitata.

    config-properties

  6. Creare/modificare 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 Nome ** visualizzato per l'app Facebook.
    • ID app/ChiaveAPI (richiesta) Immettere l'ID ​** app per l'app Facebook. Questo identifica l'istanza Adobe Granite OAuth Application e Provider 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.
    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.

    • Select SAVE.
    • Pubblicazione.

Il risultato è un'istanza di applicazione e provider OAuth Granite Adobe 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 dell'applicazione e del provider OAuth Adobe.

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 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/ cloudservices / 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 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 è 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:

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. Immettete un nome per identificare l’applicazione Twitter per gli utenti del sito Web.

  2. Inserire una descrizione.

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

  4. Per URL ** 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, individua la chiave Consumer (API) Key and Consumer (API) Secret(Segreto API). Queste informazioni saranno necessarie per configurare il servizio cloudTwitter.

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 delle credenziali di account/verifica.

Creare un Cloud Service di Twitter Connect

L'istanza applicazione e provider OAuth Granite del Adobe, creata creando una 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 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. Go to Tools > General > Configuration Browser. 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 Nome ** visualizzato per l'app Twitter.

    • Chiave consumer

      (Obbligatorio) Immettete la chiave ​consumer (API) per l'app Twitter. Questo identifica l'istanza Adobe Granite OAuth Application e Provider creata dalla finestra di dialogo.

    • Segreto consumer

      (Obbligatorio) Immetti 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 utenti

      Lascia deselezionato.

    • Aggiungi a gruppo 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. Selezionate SALVA e Pubblica.

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

provider OAuth Twitter AEM Communities

La configurazione AEM Communities estende l'istanza applicazione e provider OAuth Granite 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. Passate 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

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

Abilita login per social network

di AEM Communities Sites Console

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 utente durante la creazione o la gestionedi 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.

    managesites_png

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

    usermgmt_png

Test login Social

  • Assicurarsi che gestore autenticazione OAuth Granite di Adobe sia 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.
  • Avviate il sito pubblicato in un browser.
    Ad esempio, http://localhost:4503/content/sites/engage/en.html
  • Selezionate Accesso.
  • Selezionate 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 per riflettere l’accesso effettuato correttamente.
  • 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 AEM piattaforma

Gestore autenticazione OAuth Adobe Granite

Per impostazione predefinita Adobe Granite OAuth Authentication Handler non è abilitata 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:

  • Effettuate l'accesso con privilegi di amministratore.
  • Passate alla console Web.
    Ad esempio, http://localhost:4503/system/console/configMgr
  • Individua Adobe Granite OAuth Authentication Handler.
  • Selezionate 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, 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 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 è 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.

    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, consultate Autenticazione con modulodi 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 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-123&#x200B;**&#x200B;**
    • 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.

    • Rinomina i tag cq in oauthid-123&#x200B;**&#x200B;**

    • Modifica delle proprietà del nodo oauthid-123&#x200B;**&#x200B;**

      • name: oauthid-123&#x200B;**&#x200B;**
    • Selezionate Salva tutto.

  • Per il nome oauthid-123, sostituite 123 con l'ID app Facebook o la chiaveTwitter​** Consumer (API) che è il valore dell'ID**​** clientnella configurazione dell'applicazione e del provider OAuth del Adobe Granite IDclient.

    chlimage_1-492

Per ulteriori informazioni e strumenti, consultate Query quercia e indicizzazione.

Dispatcher Configuration

Consultate Configurazione del dispatcher per Communities.

In questa pagina