Sociale aanmelding met Facebook en Twitter social-login-with-facebook-and-twitter
Met aanmelden via een sociaal netwerk kan een sitebezoeker de optie krijgen om zich aan te melden bij zijn Facebook- of Twitter-account. Daarom moeten toegestane Facebook- of Twitter-gegevens worden opgenomen in het profiel AEM lid.
Overzicht van sociale aanmelding social-login-overview
Als u aanmelden bij een sociaal netwerk wilt opnemen, is het *vereist *om aangepaste Facebook- en Twitter-toepassingen te maken.
Hoewel het voorbeeld van de webhandel voorbeelden biedt voor Facebook- en Twitter-apps en cloudservices, zijn deze niet beschikbaar op een productiewebsite.
De vereiste stappen zijn:
-
OAuth-verificatie inschakelen op alle AEM publicatieinstanties.
Als OAuth niet is ingeschakeld, mislukt het aanmelden.
-
Maken een sociale app en cloudservice.
-
Aanmelden met Facebook ondersteunen:
- Een Facebook-app.
- Een Facebook Connect Cloud Service.
-
Aanmelden met Twitter ondersteunen:
- Een Twitter-app.
- Een Twitter Connect Cloud Service.
-
-
Inschakelen sociale aanmelding voor een community-site.
Er zijn twee basisbeginselen:
-
Toepassingsgebied (machtigingen) geeft de gegevens aan die de toepassing mag aanvragen.
- Facebook en Twitter Adobe Granite OAuth-toepassing en -provider deze instanties nemen standaard de basismachtigingen voor de toepassing op in hun bereik.
-
Velden (params) geeft de eigenlijke aangevraagde gegevens op met URL-parameters.
- Deze velden zijn opgegeven in AEM Communities Facebook OAuth Provider en AEM Communities Twitter OAuth Provider.
- De standaardvelden zijn toereikend voor de meeste gevallen waarin het wordt gebruikt, maar kunnen worden gewijzigd.
Aanmelden bij facebook facebook-login
Facebook API-versie facebook-api-version
De sociale aanmelding en het voorbeeld van de wij-retail Facebook werden ontwikkeld toen de Facebook Graph API versie 1.0 was.
Vanaf AEM 6.4 GA en AEM 6.3 SP1 is de sociale aanmelding bijgewerkt om te werken met de nieuwere versie van Facebook Graph API 2.5.
Voor de Facebook Graph API-versiegegevens raadpleegt u de Facebook API-wijziging.
Een Facebook-app maken create-a-facebook-app
Een correct geconfigureerde Facebook-toepassing is vereist om de aanmelding voor sociale Facebook in te schakelen.
Volg de instructies van Facebook op om een Facebook-toepassing te maken https://developers.facebook.com/apps/. Wijzigingen in de instructies worden niet in de volgende informatie weergegeven.
In het algemeen geldt vanaf Facebook API v2.7 het volgende:
-
Een nieuwe Facebook-app toevoegen:
- Voor Platform, kiest u Website
- Voor Site-URL, enter
https://<server>:<port>.
- Voor Site-URL, enter
- Voor Weergavenaam, voert u een titel in voor gebruik als Titel van de Facebook Connect-service.
- Voor Categorie, aanbevolen Toepassingen voor pagina's, maar dat kan alles zijn .
- Product toevoegen: Aanmelden bij facebook
- Voor Geldige OAuth-omleidings-URI's, enter
https://<server>:<port>.
- Voor Geldige OAuth-omleidings-URI's, enter
- Voor Platform, kiest u Website
Wanneer de toepassing is gemaakt, zoekt u de App ID en App Secret instellingen. Deze informatie is vereist voor het configureren van de Facebook-cloudservice.
Een Facebook Connect-Cloud Service maken create-a-facebook-connect-cloud-service
De Adobe Granite OAuth-toepassing en -provider -instantie, geïnstantieerd door het maken van een cloudserviceconfiguratie, identificeert de Facebook-toepassing en de lidgroep(en) waaraan de nieuwe gebruikers worden toegevoegd.
-
Meld u aan bij de AEM auteur-instantie met beheerdersrechten.
-
Selecteer bij globale navigatie de optie Tools > Cloud Services > Facebook Social login configuration.
-
Selecteer de configuratie context path.
Context path moet hetzelfde zijn als het pad voor cloudconfiguratie dat u hebt geselecteerd bij het maken/bewerken van een communitysite.
-
Controleer of uw contextpad is ingeschakeld om hieronder cloudservices te maken.
-
Ga naar Tools > General > Configuration Browser. Selecteer de context en bewerk de eigenschappen. Schakel cloudconfiguraties in als deze nog niet zijn ingeschakeld.
- Zie de Documentatie van de configuratievenster voor meer informatie .
-
Facebook-cloudserviceconfiguratie maken/bewerken.
- Title (Vereist) Voer een weergavetoewijzing in die de Facebook-app identificeert. Het wordt aanbevolen dezelfde naam te gebruiken als de naam die u hebt ingevoerd voor Weergavenaam voor de Facebook-app.
- App ID/API Key (Vereist) Voer de Toepassings-id voor de Facebook App. Dit identificeert de Adobe Granite OAuth-toepassing en -provider -instantie die in het dialoogvenster is gemaakt.
- App Secret (Vereist) Voer de App Secret voor de Facebook App.
- Create Users Als deze optie is ingeschakeld, wordt bij het aanmelden met een Facebook-account een AEM gebruikervermelding gemaakt en toegevoegd aan de geselecteerde gebruikersgroep(en). Standaard is ingeschakeld (sterk aanbevolen).
- Mask User IDs: Laat de selectie uitgeschakeld.
- Scope Email: e-mailadres van gebruiker moet worden opgehaald uit Facebook.
- Add to User Groups Selecteer Gebruikersgroep toevoegen om een of meer te kiezen ledengroepen voor de site van de gemeenschap waaraan gebruikers worden toegevoegd.
note note NOTE Groepen kunnen op elk gewenst moment worden toegevoegd of verwijderd. Maar het lidmaatschap van bestaande gebruikers wordt hierdoor niet beïnvloed. Automatisch lidmaatschap is alleen van toepassing op nieuwe gebruikers die worden gemaakt na deze veldupdate. Voor sites waar anonieme gebruikers zijn uitgeschakeld, kiest u ervoor gebruikers toe te voegen aan de overeenkomende groep met leden van de community die voor die gesloten communitysite is bedoeld. - Selecteer SAVE.
- Publish.
Het resultaat is een Adobe Granite OAuth-toepassing en -provider instantie die geen verdere wijziging vereist tenzij het toevoegen van extra werkingsgebied (toestemmingen). Het standaardbereik is de standaardmachtigingen voor Facebook-aanmelding. Als extra werkingsgebied wordt gewenst, is het noodzakelijk om de configuratie direct uit te geven OSGI. Als er aanpassingen rechtstreeks via systeem/console worden uitgevoerd, moet u de configuraties van de cloudservice niet via de interface van de aanraakinterface bewerken om te voorkomen dat deze worden overschreven.
AEM Communities Facebook OAuth Provider aem-communities-facebook-oauth-provider
De AEM Communities-provider breidt de Adobe Granite OAuth-toepassing en -provider -instantie.
Voor deze provider moet u het volgende bewerken:
-
Gebruikers kunnen bijwerken
-
Extra velden toevoegen binnen bereik
- Niet alle velden die standaard zijn toegestaan, worden standaard opgenomen.
Als bewerken nodig is, wordt op elke AEM-publicatie-instantie het volgende weergegeven:
-
Meld u aan met beheerdersrechten.
-
Ga naar de Webconsole. Bijvoorbeeld http://localhost:4503/system/console/configMgr.
-
Zoek AEM Communities Facebook OAuth Provider.
-
Selecteer het potloodpictogram dat u wilt openen voor bewerking.
-
OAuth Provider ID
(Vereist) Standaardwaarde is soco-facebook. Niet bewerken.
-
Cloud Service Config
Standaardwaarde is /etc/ cloudservices/facebookconnect. Niet bewerken.
-
OAuth Provider Service Config
Standaardwaarde is /apps/social/facebookprovider/config/. Niet bewerken.
-
Enable Tags
Bewerken niet.
-
User Path
Locatie in de opslagplaats waar gebruikersgegevens worden opgeslagen. Voor een communautaire plaats, om toestemmingen voor leden te verzekeren om elkaars profiel te bekijken, zou de weg het gebrek moeten zijn /home/users/community.
-
Enable fields
Als deze optie is ingeschakeld, worden de vermelde velden opgegeven in de aanvraag naar Facebook voor gebruikersverificatie en -informatie. De standaardinstelling is uitgeschakeld.
-
Fields
Wanneer Velden zijn ingeschakeld, worden de volgende velden opgenomen wanneer de Facebook Graph API wordt aangeroepen. De velden moeten zijn toegestaan binnen het bereik dat is gedefinieerd in de configuratie van de cloudservice. Voor extra velden is mogelijk goedkeuring door Facebook vereist. Raadpleeg het gedeelte Facebook-aanmeldingsmachtigingen van de Facebook-documentatie. De standaardvelden die als parameters worden toegevoegd, zijn:
- id
- name
- first_name
- last_name
- link
- landinstelling
- beeld
- tijdzone
- update_time
- geverifieerd
Als een veld wordt toegevoegd of gewijzigd, werkt u de overeenkomstige standaardconfiguratie van de synchronisatiehandler bij om de toewijzing te corrigeren.
- Update User
Als deze optie is ingeschakeld, worden de gebruikersgegevens in de dataopslag bij elke aanmelding vernieuwd om rekening te houden met profielwijzigingen of aanvullende aangevraagde gegevens. Standaard is uitgeschakeld.
-
Volgende stappen next-steps
De volgende stappen zijn hetzelfde voor zowel Facebook als Twitter:
Aanmelden bij twitter twitter-login
Een Twitter-app maken create-a-twitter-app
Een geconfigureerde Twitter-toepassing is vereist om de aanmelding voor sociale Twitter in te schakelen.
Volg de meest recente instructies om een nieuwe Twitter-toepassing te maken op https://apps.twitter.com.
In het algemeen:
-
Voer een Naam Hiermee wordt uw Twitter-toepassing geïdentificeerd voor de gebruikers van uw website.
-
Voer een Beschrijving.
-
Voor website - https://<server>/.
-
Voor URL voor terugbellen - https://<server>/.
note note NOTE Het is niet nodig de poort op te geven. Voor ontwikkeling werkt https://127.0.0.1/. -
Wanneer de toepassing is gemaakt, zoekt u de Consumer (API) Key en Consumer (API) Secret. Deze informatie is nodig voor het configureren van de Twitter-cloudservice.
Machtigingen permissions
In de sectie met bevoegdheden van het Twitter-toepassingsbeheer:
-
Access: Selecteer
Read only
.- Andere opties worden niet ondersteund
-
Additional Permissions: Optioneel kiezen
Request email addresses from users
.- Als deze optie niet is geselecteerd, bevat het gebruikersprofiel in AEM geen e-mailadres.
- In twitter-instructies worden extra stappen beschreven.
De enige REST-aanvraag die voor sociale aanmelding is ingediend, is: Account GET/verificatiegegevens.
Een Twitter Connect-Cloud Service maken create-a-twitter-connect-cloud-service
De Adobe Granite OAuth-toepassing en -provider -instantie, geïnstantieerd door het maken van een cloudserviceconfiguratie, identificeert de Twitter-toepassing en de lidgroep(en) waaraan de nieuwe gebruikers worden toegevoegd.
-
Meld u aan met beheerdersrechten voor de auteurinstantie.
-
Selecteer bij globale navigatie de optie Tools > Cloud Services > Twitter Social login configuration.
-
Kies de optie context path configuratie.
Het pad naar de context moet hetzelfde zijn als het pad naar de cloudconfiguratie dat u hebt geselecteerd bij het maken/bewerken van een communitysite.
-
Controleer of uw contextpad is ingeschakeld om hieronder cloudservices te maken.
-
Ga naar Tools > General > Configuration Browser. Selecteer de context en bewerk de eigenschappen. Schakel cloudconfiguraties in als deze nog niet zijn ingeschakeld.
- Zie de Documentatie van de configuratievenster voor meer informatie .
-
Twitter-cloudserviceconfiguratie maken/bewerken.
-
Title (Vereist) Voer een weergavetoewijzing in die de Twitter-app identificeert. Het wordt aanbevolen dezelfde naam te gebruiken als de naam die u hebt ingevoerd voor Weergavenaam voor de Twitter-app.
-
Consumer Key (Vereist) Voer de Consumentencode (API) voor de Twitter-app. Dit identificeert de Adobe Granite OAuth-toepassing en -provider -instantie die in het dialoogvenster is gemaakt.
-
Consumer Secret (Vereist) Voer de Consumer(API) Secret voor de Twitter App.
-
Create Users Als deze optie is ingeschakeld, wordt bij het aanmelden met een Twitter-account een AEM gebruikervermelding gemaakt en toegevoegd aan de geselecteerde gebruikersgroep(en). Standaard is ingeschakeld (sterk aanbevolen).
-
Mask User IDs Laat de selectie uitgeschakeld.
-
Add to User Groups Selecteer Gebruikersgroep toevoegen om een of meer te kiezen ledengroepen voor de site van de gemeenschap waaraan gebruikers worden toegevoegd.
note note NOTE Groepen kunnen op elk gewenst moment worden toegevoegd of verwijderd. Het lidmaatschap van bestaande gebruikers wordt echter niet beïnvloed. Automatisch lidmaatschap is alleen van toepassing op nieuwe gebruikers die worden gemaakt na deze veldupdate. Voor Plaatsen waar de anonieme gebruikers gehandicapt zijn, voeg gebruikers aan overeenkomstige gemeenschap-lidgroep toe die voor die gesloten communautaire plaats wordt bedoeld. -
-
Selecteren SAVE en Publish.
Het resultaat is een Adobe Granite OAuth-toepassing en -provider instantie die niet verder hoeft te worden gewijzigd. Het standaardbereik is de standaardmachtigingen voor Twitter-aanmelding.
AEM Communities Twitter OAuth Provider aem-communities-twitter-oauth-provider
De AEM Communities-configuratie breidt de Adobe Granite OAuth-toepassing en -provider -instantie. Deze provider moet worden bewerkt om gebruikersupdates toe te staan.
Als bewerken nodig is, wordt op elke AEM-publicatie-instantie het volgende weergegeven:
-
Meld u aan met beheerdersrechten.
-
Ga naar de Webconsole.
Bijvoorbeeld http://localhost:4503/system/console/configMgr.
-
Zoek AEM Communities Twitter OAuth Provider.
-
Selecteer het potloodpictogram dat u wilt openen voor bewerking.
-
OAuth Provider ID (Vereist)
De standaardwaarde is soco-twitter. Niet bewerken.
-
Cloud Service Config
De standaardwaarde is conf. Niet bewerken.
-
OAuth Provider Service Config
De standaardwaarde is /apps/social/twitterprovider/config/. Niet bewerken.
-
User Path
Locatie in de opslagplaats waar gebruikersgegevens worden opgeslagen. Voor een communautaire plaats, om toestemmingen voor leden te verzekeren om elkaars profiel te bekijken, zou de weg het gebrek moeten zijn /home/users/community.
-
Enable Params niet bewerken
-
URL Parameters niet bewerken
-
Update User
Als deze optie is ingeschakeld, worden de gebruikersgegevens in de dataopslag bij elke aanmelding vernieuwd om rekening te houden met profielwijzigingen of aanvullende aangevraagde gegevens. De standaardinstelling is uitgeschakeld.
-
Volgende stappen next-steps-1
De volgende stappen zijn hetzelfde voor zowel Facebook als Twitter:
Sociale aanmelding inschakelen enable-social-login
AEM Communities Sites Console aem-communities-sites-console
Zodra een wolkendienst wordt gevormd, kan het voor het relevante Sociale Aanmelden plaatsen voor een communautaire plaats worden toegelaten gebruikend Gebruikersbeheer Subdeelvenster Instellingen tijdens de communitysite creatie of management.
-
Kies de context van uw siteconfiguratie waarin u uw inlogconfiguraties voor sociale media hebt opgeslagen.
-
Stel op het tabblad Algemeen cloudconfiguraties in.
-
Schakel op het tabblad Instellingen de optie Social Logins en Opslaan.
Sociale aanmelding testen test-social-login
- Zorgen Adobe Granite OAuth-verificatiehandler is ingeschakeld voor alle publicatieinstanties
- Ervoor zorgen dat de cloudservices zijn gepubliceerd
- Controleer of de site van de community is gepubliceerd
- De gepubliceerde site starten in een browser Bijvoorbeeld http://localhost:4503/content/sites/engage/en.html
- Selecteer Login In
- Selecteer Sign in with Facebook of Sign in with Twitter
- Als u zich nog niet hebt aangemeld bij Facebook of Twitter, meldt u zich aan met de juiste referenties
- Het kan nodig zijn machtigingen te verlenen afhankelijk van het dialoogvenster dat wordt weergegeven door de Facebook- of Twitter-app
- De werkbalk boven aan de pagina wordt bijgewerkt met de geslaagde aanmelding
- Selecteren Profile: op de pagina Profiel worden de avatar-afbeelding, voornaam en achternaam van de gebruiker weergegeven. De informatie uit het Facebook- of Twitter-profiel wordt ook weergegeven op basis van de toegestane velden/params.
Platform OAuth-configuraties AEM aem-platform-oauth-configurations
Adobe Granite OAuth-verificatiehandler adobe-granite-oauth-authentication-handler
De Adobe Granite OAuth Authentication Handler
is niet standaard ingeschakeld en moet op alle AEM publicatieinstanties zijn ingeschakeld.
Om de authentificatiemanager bij toe te laten publiceren, open eenvoudig OSGi config en bewaar het:
- Aanmelden met beheerdersrechten
- Ga naar de Webconsole
Bijvoorbeeld http://localhost:4503/system/console/configMgr - Zoeken
Adobe Granite OAuth Authentication Handler
- Selecteren om de configuratie voor bewerking te openen
- Selecteer Save
Adobe Granite OAuth-toepassing en -provider adobe-granite-oauth-application-and-provider
Wanneer een cloudservice voor Facebook of Twitter wordt gemaakt, wordt een instantie van Adobe Granite OAuth Authentication Handler
wordt gemaakt.
Ga als volgt te werk om de gemaakte instantie voor een Facebook- of Twitter-app te zoeken:
-
Meld u aan met beheerdersrechten.
-
Ga naar de Webconsole.
Bijvoorbeeld http://localhost:4503/system/console/configMgr.
-
Zoek Adobe Granite OAuth Application and Provider.
- Zoek de instantie waar Client ID komt overeen met de App ID
Met uitzondering van de volgende eigenschappen, verlaat u de andere eigenschappen van de config ongewijzigd:
-
Config ID
(Vereist) OAuth-configuratie-id's moeten uniek zijn. Automatisch gegenereerd wanneer een cloudservice wordt gemaakt.
-
Client ID
(Vereist) De toepassings-id die is opgegeven toen de cloudservice werd gemaakt.
-
Client Secret
(Vereist) Het toepassingsgeheim dat is opgegeven bij het maken van de cloudservice.
-
Scope
(Optioneel) De leverancier kan om aanvullende mogelijkheden vragen voor wat is toegestaan. Het standaardbereik omvat de machtigingen die nodig zijn voor het verstrekken van sociale verificatie- en profielgegevens.
-
Provider ID
(Vereist) De provider-id voor AEM Communities wordt ingesteld op het moment dat de cloudservice werd gemaakt. Niet bewerken. Voor Facebook Connect is de waarde soco-facebook. Voor Twitter Connect is de waarde soco-twitter.
-
Groups
(Aanbevolen) Een of meer ledengroepen waaraan gebruikers zijn toegevoegd. Voor AEM Communities wordt aanbevolen de lidgroep voor de community-site op te nemen.
-
Callback URL
(Optioneel) URL geconfigureerd met de OAuth-providers om de client terug te sturen. Gebruik een relatieve URL om de host van de oorspronkelijke aanvraag te gebruiken. Laat leeg om de oorspronkelijk aangevraagde URL te gebruiken. Achtervoegsel "/callback/j_security_check" wordt automatisch toegevoegd aan deze URL.
note note NOTE Het domein voor de callback moet bij de leverancier (Facebook of Twitter) worden geregistreerd.
Voor elke configuratie van de authentificatiemanager OAuth, zijn er twee extra configuraties die in de instantie worden gecreeerd:
- Apache Jackrabbit Oak Default Sync Handler (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler) - Geen bewerkingen vereist in dit venster, maar u kunt de toewijzingen van gebruikersvelden bekijken hoe Facebook-velden worden toegewezen aan een CQ-gebruikersprofielknooppunt. U ziet ook dat 'Naam synchronisatiehandler' overeenkomt met de configuratie-id van de configuratie van de OAuth-provider.
- Apache Jackrabbit Oak External Login Module (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory) - Er zijn geen bewerkingen vereist, maar u kunt zien dat 'Naam identiteitsprovider' en 'Naam synchronisatiehandler' hetzelfde zijn en verwijzen naar respectievelijk de overeenkomstige OAuth- en sync-handlerconfiguraties.
Zie voor meer informatie Verificatie met Apache Oak External Login Module.
OAuth-prestaties van het gebruikerstraject oauth-user-traversal-performance
Voor gemeenschapssites die honderdduizenden gebruikers zien registreren die hun Facebook- of Twitter-aanmelding gebruiken, kunnen de prestaties tijdens het doorlopen van de query die wordt uitgevoerd wanneer een sitebezoeker zijn sociale aanmelding gebruikt, worden verbeterd door de volgende Oak-index toe te voegen.
Als er traversale waarschuwingen worden weergegeven in de logboeken, wordt aangeraden deze index toe te voegen.
Op een instantie van de auteur, aangemeld met beheerdersrechten:
-
Vanuit globale navigatie: selecteren Gereedschappen, CRX/DE Lite.
-
Creeer een index genoemd ntBaseLucene-oauth van een exemplaar van ntBaseLucene:
- Onder knooppunt /oak:index
- Knooppunt ntBaseLucene selecteren
- Selecteer Copy
- Selecteer
/oak:index
- Selecteer Paste
- Naam van kopie van ntBaseLucene wijzigen in ntBaseLucene-oauth
-
Wijzig de eigenschappen van node ntBaseLucene-oauth:
- indexPath: /oak:index/ntBaseLucene-oauth
- name: oauthid-123xxxx
- reindex: true
- reindexCount: 1
-
Onder node/oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:
-
Verwijder alle onderliggende knooppunten, behalve cqTags.
-
Naam van cqTags wijzigen in oauthid-123xxxx
-
De eigenschappen van knooppunt oauthid-123xxxx wijzigen
- name: oauthid-123xxxx
-
Selecteer Save All.
-
&asteren; Voor de name oauthid-123 vervangen 123 met de Facebook Toepassings-id of Twitter Consumentencode (API) dat de waarde van de Client-id in de Adobe Granite OAuth-toepassing en -providerconfiguratie.
Raadpleeg voor meer informatie en gereedschappen Oak-query's en indexering.
Dispatcher Configuration dispatcher-configuration
Zie Dispatcher configureren voor Gemeenschappen.