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

Inloggning via sociala medier är en funktion för att ge en besökare möjlighet att logga in med sitt Facebook- eller Twitter-konto. Därför bör du inkludera tillåtna Facebook- eller Twitter-data i deras AEM medlemsprofil.

sociallginweretail

Översikt över social inloggning social-login-overview

Om du vill inkludera social inloggning är det obligatoriskt för att skapa anpassade Facebook- och Twitter-program.

Exemplet med webbutiker 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äljer du 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 inloggning
      • 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. Välj 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. Använd samma namn som anges för 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. Standardomfånget är standardbehörigheten för Facebook-inloggning. Om ytterligare omfattning önskas är det nödvändigt att redigera OSGI-konfigurationen 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/ cloudservices / 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:

Inloggning för twitter twitter-login

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

Det krävs ett konfigurerat program för Twitter för att aktivera Twitternas inloggning för sociala medier.

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

I allmänhet:

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

  2. Ange en 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 molntjänst för twitter.

Behörigheter permissions

I Twitternas behörighetsavsnittet:

  • Access: Välj Read only.

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

    • Om du inte väljer det här alternativet inkluderas inte AEM e-postadress.
    • Twitternas instruktioner innehåller information om ytterligare steg som ska utföras.

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 -instansen, som initieras genom att en molntjänstkonfiguration skapas, identifierar det Twitter 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. Välj 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 molntjänstkonfiguration för Twitter.

    twittersocialloginpng

    • Title

      (Obligatoriskt) Ange en visningsrubrik som identifierar Twitterna App. Använd samma namn som anges för Visningsnamn för Twitterna.

    • Consumer Key

      (Obligatoriskt) Ange Kundnyckel (API) för Twitterna. 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 markerade användargrupperna när du loggar in med ett användarkonto. 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. Befintliga användarmedlemskap påverkas dock 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. Standardomfånget är standardbehörigheten för Twitternas 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.
  • Det kan vara nödvändigt att 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 tillåtna fält/parametrar.

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.
  • Välj att öppna konfigurationen för redigering.
  • Välj Save.

graniteoauth

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

graniteoauth1

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 ett Facebook- eller Twitter-program:

  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.

      graniteoauth2

      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 hjälp av inloggning för Facebook eller Twitter kan genomgången av den fråga som utfördes när en besökare använder sin inloggning för 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
    • Välj nod 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-123&#x200B;**&#x200B;**
    • 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-123**&#x200B;**

    • Ändra nodens egenskaper oauthid-123**&#x200B;**

      • name: oauthid-123&#x200B;**&#x200B;**
    • Välj Save All.

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

Dispatcher-konfiguration dispatcher-configuration

Se Konfigurera Dispatcher för Communities.

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