Social inloggning med Facebook och Twitter social-login-with-facebook-and-twitter

CAUTION
AEM 6.4 har nått slutet på den utökade supporten och denna dokumentation är inte längre uppdaterad. Mer information finns i teknisk supportperiod. Hitta de versioner som stöds här.

Social inloggning är en funktion för att ge en besökare möjlighet att logga in med sitt Facebook- eller Twitter-konto. Det innebär att tillåtna Facebook- eller Twitter-data inkluderas i deras AEM medlemsprofil.

sociallginweretail

Översikt över social inloggning social-login-overview

För att inkludera inloggning via sociala medier krävs *för att skapa anpassade Facebook- och Twitter-program.

Exemplet med webbutik innehåller exempel på Facebook- och Twitter-appar samt molntjänster, men de är inte tillgängliga på en produktionswebbplats.

De steg som krävs är:

  1. Aktivera OAuth-autentisering på alla AEM publiceringsinstanser.

    Om OAuth inte är aktiverat misslyckas inloggningsförsöken.

  2. Skapa en social app och molntjänst.

  3. Aktivera social inloggning för en communitysajt.

Det finns två grundläggande begrepp:

  1. Omfång (behörigheter) anger vilka data programmet får begära.

  2. Fält (params) anger de faktiska data som begärts med URL-parametrar.

Facebook Login facebook-login

Facebook API-version facebook-api-version

Samtidig inloggning och Facebook-exemplet för webbförsäljning utvecklades när Facebook Graph API var version 1.0.
Från och med AEM 6.4 GA och AEM 6.3 SP1 uppdaterades den sociala inloggningen för att fungera med den nyare Facebook Graph API 2.5-versionen.

NOTE
För äldre AEM versioner, om du råkar ut för ett undantag i loggar Det går inte att extrahera en token från den här, uppgradera till den senaste versionen av CFP för den AEM versionen.

Versionsinformation om Facebook Graph API finns i Facebook API-ändringslogg.

Skapa en Facebook-app create-a-facebook-app

Ett korrekt konfigurerat Facebook-program krävs för att aktivera Facebook inloggning för sociala medier.

Följ Facebook instruktioner för att skapa Facebook-program på https://developers.facebook.com/apps/. Ändringar av instruktionerna återspeglas inte i följande information.

Från och med Facebook API v2.7:

  • Lägg till en ny Facebook-app:

    • För Plattform, välj Webbplats
      • För Webbplats-URL, ange https://<server>:<port>.
    • För Visningsnamn, anger du en titel som ska användas som titel för Facebook-anslutningstjänsten.
    • För Kategori, rekommenderas Appar för sidor, men kan vara vad som helst.
    • Lägg till produkt: Facebook Login
      • För Giltiga omdirigerings-URI:er för OAuth, ange https://<server>:<port>.
NOTE
http://localhost:4503 fungerar för utveckling.

När programmet har skapats letar du reda på App ID och App Secret inställningar. Den här informationen krävs för att konfigurera Facebook molntjänst.

Skapa en Facebook Connect-Cloud Service create-a-facebook-connect-cloud-service

The Adobe Granite OAuth-program och -leverantör -instans, som initieras genom att en molntjänstkonfiguration skapas, identifierar Facebook-programmet och den eller de medlemsgrupper som de nya användarna läggs till i.

  1. Logga in med administratörsbehörighet på AEM författarinstans.

  2. Från global navigering väljer du Tools > Cloud Services > Facebook Social login configuration.

  3. Välj konfigurationen context path.

    Context path ska vara samma som den molnkonfigurationssökväg som du har valt när du skapar/redigerar en community-webbplats.

  4. Kontrollera om din kontextsökväg är aktiverad för att skapa molntjänster under den.

  5. Gå till Tools > General > Configuration Browser. Välj kontext och redigera egenskaper. Aktivera molnkonfigurationer om de inte har aktiverats ännu.

    config-propertiespng

  6. Skapa/redigera Facebook molntjänstkonfiguration.

    fbsocialloginconfigpng

    • Title (Obligatoriskt) Ange en visningsrubrik som identifierar Facebook App. Vi rekommenderar att du använder samma namn som Visningsnamn för Facebook.
    • App ID/API Key (Obligatoriskt) Ange Program-ID för Facebook App. Detta identifierar Adobe Granite OAuth-program och -leverantör -instans som har skapats från dialogrutan.
    • App Secret (Obligatoriskt) Ange Apphemlighet för Facebook App.
    • Create Users Om du markerar det här alternativet skapas en AEM användarpost och läggs till som medlem i de valda användargrupperna när du loggar in med ett Facebook-konto. Standard är markerat (rekommenderas starkt).
    • Mask User IDs: Låt vara avmarkerat.
    • Scope Email: användarens e-postadress ska hämtas från Facebook.
    • Add to User Groups välj Lägg till användargrupp om du vill välja en eller flera medlemsgrupper för den community som användarna ska läggas till på.
    note note
    NOTE
    Grupper kan läggas till eller tas bort när som helst. Men befintliga användares medlemskap påverkas inte. Automatiskt medlemskap gäller endast för nya användare som skapas efter den här fältuppdateringen. För webbplatser där anonyma användare är inaktiverade väljer du att lägga till användare i motsvarande community-medlemsgrupp som är avsedd för den stängda communitywebbplatsen.
    • Välj SAVE.
    • Publish.

Resultatet är ett Adobe Granite OAuth-program och -leverantör -instans som inte behöver ändras ytterligare såvida inte ytterligare omfång (behörigheter) läggs till. Standardomfattningen är standardbehörigheterna för Facebook-inloggning. Om ytterligare omfattning önskas måste OSGI-konfigurationen redigeras direkt. Om ändringar görs direkt via system/konsol ska du undvika att redigera molntjänstkonfigurationerna från pekgränssnittet för att undvika att skriva över dem.

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

AEM Communities-leverantören utökar Adobe Granite OAuth-program och -leverantör -instans.

Den här providern behöver redigeras för att:

  • Tillåt användaruppdateringar

  • Lägg till ytterligare fält inom omfånget

    • Alla fält som tillåts som standard inkluderas inte som standard.

Om redigering är nödvändig, för varje AEM publiceringsinstans:

  1. Logga in med administratörsbehörighet.

  2. Navigera till Webbkonsol. Exempel: http://localhost:4503/system/console/configMgr.

  3. Hitta AEM Communities Facebook OAuth Provider.

  4. Markera pennikonen som du vill öppna för redigering.

    fboauthprov_png

    • OAuth Provider ID

      (Obligatoriskt) Standardvärdet är soco-facebook. Redigera inte.

    • Cloud Service Config

      Standardvärdet är /etc/molntjänster/facebookconnect. Redigera inte.

    • OAuth Provider Service Config

      Standardvärdet är /apps/social/facebookprovider/config/. Redigera inte.

    • Enable Tags

      Redigera inte.

    • User Path

      Plats i databasen där användardata lagras. För en communitywebbplats, för att säkerställa behörighet för medlemmar att se varandras profil, bör sökvägen vara standardsökvägen /home/users/community.

    • Enable fields

      Om du markerar det här alternativet anges fälten i listan på begäran till Facebook för användarautentisering och användarinformation. Standardvärdet är avmarkerat.

    • Fields

      När fält är aktiverade inkluderas följande fält när du anropar Facebook Graph API. Fälten måste vara tillåtna inom det omfång som definieras i molntjänstkonfigurationen. Ytterligare fält kan behöva godkännas av Facebook. Se avsnittet Facebook inloggningsbehörigheter i Facebook-dokumentationen. Standardfälten som läggs till som parametrar är:

      • id
      • name
      • first_name
      • last_name
      • link
      • locale
      • bild
      • tidszon
      • uppdaterad_tid
      • verifierad
      • e-post

    Om något fält läggs till eller ändras, uppdaterar du motsvarande standardkonfiguration för synkroniseringshanteraren för att korrigera mappningen.

    • Update User
      Om du markerar det här alternativet uppdateras användardata i databasen vid varje inloggning så att profiländringar eller ytterligare data som efterfrågas återspeglas. Standard är avmarkerat.

Nästa steg next-steps

Nästa steg är samma för både Facebook och Twitter:

Twitter Login twitter-login

Skapa en Twitter-app create-a-twitter-app

Ett konfigurerat Twitter-program krävs för att aktivera Twitter inloggning för sociala medier.

Följ de senaste instruktionerna för att skapa ett nytt Twitter-program på https://apps.twitter.com.

I allmänhet:

  1. Ange Namn som identifierar ditt Twitter-program för webbplatsens användare.

  2. Ange Beskrivning.

  3. För webbplats - ange https://<server>/.

  4. För Återanrops-URL - ange https://<server>/.

    note note
    NOTE
    Porten behöver inte anges.
    https://127.0.0.1/ fungerar för utveckling.
  5. När programmet har skapats letar du reda på Consumer (API) Key och Consumer (API) Secret. Den här informationen behövs för att konfigurera Twitter molntjänst.

Behörigheter permissions

I behörighetssektionen i Twitter Application Management:

  • Access: Välj Read only.

    • Andra alternativ stöds inte
  • Additional Permissions: Välj Request email addresses from users.

    • Om du inte väljer det här alternativet inkluderas inte AEM e-postadress.
    • Twitter instruktioner innehåller information om ytterligare åtgärder.

Den enda REST-begäran som har gjorts för social inloggning är GET-konto/verifiera autentiseringsuppgifter.

Skapa en Twitter Connect-Cloud Service create-a-twitter-connect-cloud-service

The Adobe Granite OAuth-program och -leverantör -instans, som initieras genom att en molntjänstkonfiguration skapas, identifierar Twitter-programmet och den eller de medlemsgrupper som de nya användarna läggs till i.

  1. Logga in med administratörsbehörighet på författarinstansen.

  2. Från global navigering väljer du Tools > Cloud Services > Twitter Social login configuration.

  3. Välj context path konfiguration.

    Kontextsökvägen ska vara samma som den molnkonfigurationssökväg som du valde när du skapade/redigerade en community-plats.

  4. Kontrollera om din kontextsökväg är aktiverad för att skapa molntjänster under den.

  5. Gå till Tools > General > Configuration Browser. Välj kontext och redigera egenskaper. Aktivera molnkonfigurationer om de inte har aktiverats ännu.

    twitterkonfigproppning

  6. Skapa/redigera Twitter molntjänstkonfiguration.

    twittersocialloginpng

    • Title (Obligatoriskt) Ange en visningsrubrik som identifierar Twitter App. Vi rekommenderar att du använder samma namn som Visningsnamn för Twitter.

    • Consumer Key (Obligatoriskt) Ange Kundnyckel (API) för Twitter. Detta identifierar Adobe Granite OAuth-program och -leverantör -instans som har skapats från dialogrutan.

    • Consumer Secret (Obligatoriskt) Ange Consumer(API) Secret för Twitter App.

    • Create Users Om du markerar det här alternativet skapas en AEM användarpost och läggs till som medlem i de valda användargrupperna när du loggar in med ett Twitter-konto. Standard är markerat (rekommenderas starkt).

    • Mask User IDs Låt vara avmarkerat.

    • Add to User Groups välj Lägg till användargrupp om du vill välja en eller flera medlemsgrupper för den community som användarna ska läggas till på.

    note note
    NOTE
    Grupper kan läggas till eller tas bort när som helst. Men befintliga användarmedlemskap påverkas inte. Automatiskt medlemskap gäller endast för nya användare som skapas efter den här fältuppdateringen. För webbplatser där anonyma användare är inaktiverade lägger du till användare i motsvarande community-medlemsgrupp som är avsedd för den stängda communitywebbplatsen.
  7. Välj SAVE och Publish.

Resultatet är ett Adobe Granite OAuth-program och -leverantör -instans som inte behöver ändras ytterligare. Standardomfattningen är standardbehörigheterna för Twitter-inloggning.

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

AEM Communities-konfigurationen utökar Adobe Granite OAuth-program och -leverantör -instans. Leverantören måste redigeras för att tillåta användaruppdateringar.

Om redigering är nödvändig, för varje AEM publiceringsinstans:

  1. Logga in med administratörsbehörighet.

  2. Navigera till Webbkonsol.

    Exempel: http://localhost:4503/system/console/configMgr.

  3. Hitta AEM Communities Twitter OAuth Provider.

  4. Markera pennikonen som du vill öppna för redigering.

    twitteroauth_png

    • OAuth Provider ID (Obligatoriskt)

      Standardvärdet är soco-twitter. Redigera inte.

    • Cloud Service Config

      Standardvärdet är conf. Redigera inte.

    • OAuth Provider Service Config

      Standardvärdet är /apps/social/twitterprovider/config/. Redigera inte.

    • User Path

      Plats i databasen där användardata lagras. För en communitywebbplats, för att säkerställa behörighet för medlemmar att se varandras profil, bör sökvägen vara standardsökvägen /home/users/community.

    • Enable Params redigera inte

    • URL Parameters redigera inte

    • Update User

      Om du markerar det här alternativet uppdateras användardata i databasen vid varje inloggning så att profiländringar eller ytterligare data som efterfrågas återspeglas. Standardvärdet är avmarkerat.

Nästa steg next-steps-1

Nästa steg är samma för både Facebook och Twitter:

Aktivera social inloggning enable-social-login

AEM Communities Sites Console aem-communities-sites-console

När en molntjänst har konfigurerats kan den aktiveras för den relevanta inställningen för social inloggning för en community-webbplats med Användarhantering Underpanelen Inställningar under communitywebbplatsen skapa eller hantering.

  1. Välj den platskonfiguration där du sparade dina konfigurationer för social inloggning.

  2. Ange molnkonfigurationer på fliken Allmänt.

    managesites_png

  3. På fliken Inställningar aktiverar du Social Logins och Spara.

    usermgmt_png

Testa social inloggning test-social-login

  • Säkerställ Adobe Granite OAuth-autentiseringshanterare har aktiverats för alla publiceringsinstanser
  • Kontrollera att molntjänsterna har publicerats
  • Kontrollera att communitywebbplatsen har publicerats
  • Starta den publicerade webbplatsen i en webbläsare Till exempel http://localhost:4503/content/sites/engage/en.html
  • Välj Login In
  • Välj antingen Sign in with Facebook eller Sign in with Twitter
  • Om du inte redan är inloggad på Facebook eller Twitter loggar du in med rätt autentiseringsuppgifter
  • Du kan behöva bevilja behörighet beroende på vilken dialogruta som visas i Facebook- eller Twitter-appen
  • Observera att verktygsfältet högst upp på sidan uppdateras för att återspegla den lyckade inloggningen
  • Välj Profile: På profilsidan visas användarens avatarbild, förnamn och efternamn. Den visar även information från Facebook- eller Twitter-profilen enligt de fält/parametrar som tillåts.

OAuth-konfigurationer för AEM aem-platform-oauth-configurations

Adobe Granite OAuth-autentiseringshanterare adobe-granite-oauth-authentication-handler

The Adobe Granite OAuth Authentication Handler är inte aktiverat som standard och måste vara aktiverat för alla AEM publiceringsinstanser.

Aktivera autentiseringshanteraren vid publicering genom att öppna OSGi-konfigurationen och spara den:

  • Logga in med administratörsbehörighet
  • Navigera till Webbkonsol
    Till exempel http://localhost:4503/system/console/configMgr
  • Sök Adobe Granite OAuth Authentication Handler
  • Markera för att öppna konfigurationen för redigering
  • Välj Save

chlimage_1-489

CAUTION
Förväxla inte autentiseringshanteraren med en Facebook- eller Twitter-instans av Adobe Granite OAuth-program och -leverantör.

chlimage_1-490

Adobe Granite OAuth-program och -leverantör adobe-granite-oauth-application-and-provider

När en molntjänst för Facebook eller Twitter skapas, en instans av Adobe Granite OAuth Authentication Handler skapas.

Så här söker du efter den skapade instansen för en Facebook- eller Twitter-app:

  1. Logga in med administratörsbehörighet.

  2. Navigera till Webbkonsol.

    Exempel: http://localhost:4503/system/console/configMgr.

  3. Hitta Adobe Granite OAuth-program och -provider.

    • Leta reda på instansen där Client ID matchar App ID

    chlimage_1-491

    Utom följande egenskaper lämnar du de andra egenskaperna i konfigurationen oförändrade:

    • Config ID

      (Obligatoriskt) Konfigurations-ID:n för OAuth måste vara unika. Autogenereras när molntjänsten skapas.

    • Client ID

      (Obligatoriskt) Det program-ID som angavs när molntjänsten skapades.

    • Client Secret

      (Obligatoriskt) Programhemligheten som angavs när molntjänsten skapades.

    • Scope

      (Valfritt) Ytterligare utrymme för vad som är tillåtet kan tillfrågas från leverantören. Standardomfånget omfattar de behörigheter som krävs för att tillhandahålla social autentisering och profildata.

    • Provider ID

      (Obligatoriskt) Leverantörs-ID för AEM Communities anges när molntjänsten skapades. Redigera inte. För Facebook Connect är värdet soco-facebook. För Twitter Connect är värdet soco-twitter.

    • Groups

      (Rekommenderas) En eller flera medlemsgrupper som användare har skapats i. För AEM Communities rekommenderar vi att du listar medlemsgruppen för communitywebbplatsen.

    • Callback URL

      (Valfritt) URL konfigurerad med OAuth-providers för att dirigera om klienten tillbaka. Använd en relativ URL för att använda värddatorn för den ursprungliga begäran. Lämna tomt om du vill använda den ursprungligen begärda URL:en i stället. Suffixet"/callback/j_security_check" läggs automatiskt till på den här URL:en.

    note note
    NOTE
    Domänen för återanropet måste vara registrerad hos providern (Facebook eller Twitter).

För varje konfiguration av OAuth-autentiseringshanterare skapas ytterligare två konfigurationer i instansen:

  • Apache Jackrabbit Oak Default Sync Handler (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler) - Inga redigeringar krävs, men du kan se hur Facebook-fält mappas till en CQ-användarprofilnod i användarfältet. Lägg även märke till att Sync Handler Name matchar Config Id för OAuth-providerkonfigurationen.
  • Apache Jackrabbit Oak External Login Module (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory) - Inga redigeringar krävs där, men du kan lägga märke till att Identity Provider Name och Sync Handler Name är samma och pekar på motsvarande OAuth- respektive sync handler-konfigurationer.

Mer information finns i Autentisering med extern inloggningsmodul för Apache Oak.

OAuth User Traversal Performance oauth-user-traversal-performance

För communitysajter där hundratusentals användare registrerar sig med sina inloggningar på Facebook eller Twitter kan genomgången av den fråga som utfördes när en besökare använder sin inloggning via sociala medier förbättras genom att följande Oak-index läggs till.

Om traversal-varningar visas i loggarna bör du lägga till det här indexet.

Inloggad med administratörsbehörighet för en författarinstans:

  1. Från global navigering: välj verktyg, CRX/DE Lite.

  2. Skapa ett index med namnet ntBaseLucene-oauth från en kopia av ntBaseLucene:

    • Under nod /oak:index
    • Markera noden ntBaseLucene
    • Välj Copy
    • Välj /oak:index
    • Välj Paste
    • Byt namn på kopian av ntBaseLucene till ntBaseLucene-oauth
  3. Ändra egenskaperna för noden ntBaseLucene-oauth:

    • indexPath: /oak:index/ntBaseLucene-oauth
    • name: oauthid-123xxxx
    • reindex: true
    • reindexCount: 1
  4. Under noden /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:

    • Ta bort alla underordnade noder, förutom cqTags.

    • Byt namn på cqTags till oauthid-123xxxx

    • Ändra egenskaperna för noden oauthid-123xxxx

      • name: oauthid-123xxxx
    • Välj Save All.

* För name oauthid-123, ersätt 123 med Facebook Program-ID eller Twitter Kundnyckel (API) som är värdet av Klient-ID i Adobe Granite OAuth-program och -leverantörkonfiguration.

chlimage_1-492

Mer information och verktyg finns i Fråga och indexering.

Dispatcher-konfiguration dispatcher-configuration

Se Konfigurera Dispatcher för Communities.

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