Logon social com o Facebook e o Twitter social-login-with-facebook-and-twitter
Logon social é a capacidade de apresentar a um visitante do site a opção de fazer logon com sua conta do Facebook ou do Twitter. Portanto, incluir dados de Facebook ou Twitter permitidos em seu perfil de membro AEM.
Visão geral do logon social social-login-overview
Para incluir login social, é obrigatório para criar aplicativos personalizados do Facebook e do Twitter.
Embora a amostra de we-retail forneça exemplos de aplicativos Facebook e Twitter e serviços em nuvem, eles não estão disponíveis em um site de produção.
As etapas necessárias são:
-
Habilitar autenticação OAuth em todas as instâncias de publicação do AEM.
Sem o OAuth habilitado, as tentativas de logon falham.
-
Criar um aplicativo social e um serviço na nuvem.
-
Para oferecer suporte ao logon com o Facebook:
- Criar um aplicativo facebook.
- Criar e publicar um Serviço em nuvem facebook Connect.
-
Para oferecer suporte ao logon com o Twitter:
- Criar um aplicativo Twitter.
- Criar e publicar um Twitter Connect Cloud Service.
-
-
Ativar login social para um site da comunidade.
Há dois conceitos básicos:
-
Escopo (permissões) especifica os dados que o aplicativo tem permissão para solicitar.
- O FACEBOOK e o TWITTER Aplicativo e provedor Adobe Granite OAuth As instâncias do, por padrão, incluem as permissões básicas do aplicativo no escopo.
-
Campos (parâmetros) especifica os dados reais solicitados usando parâmetros de URL.
- Esses campos são especificados em Provedor OAuth do AEM Communities Facebook e Provedor OAuth do AEM Communities Twitter.
- Os campos padrão são suficientes para a maioria dos casos de uso, mas podem ser modificados.
Logon no facebook facebook-login
Versão da API do facebook facebook-api-version
O logon social e a amostra do We-retail Facebook foram desenvolvidos quando a API Graph do Facebook era a versão 1.0. A partir do AEM 6.4 GA e AEM 6.3 SP1, o logon social foi atualizado para funcionar com a versão mais recente da API de gráfico 2.5 do Facebook.
Para obter informações sobre a versão da API gráfica do Facebook, consulte a Change Log da API do facebook.
Criar um aplicativo Facebook create-a-facebook-app
Um aplicativo do Facebook corretamente configurado é necessário para habilitar o logon social do Facebook.
Para criar um aplicativo do Facebook, siga as instruções da Facebook em https://developers.facebook.com/apps/. As alterações nas instruções não se refletem nas informações a seguir.
Em geral, a partir da API do Facebook v2.7:
-
Adicionar um novo aplicativo Facebook
-
Para Platform, escolha Site:
- Para URL do site, insira
https://<server>:<port>.
- Para Nome de exibição, insira um título para usar como o Título do serviço Facebook connect.
- Para Categoria, escolha recomendada Aplicativos para páginas, mas pode ser qualquer coisa.
- Adicionar produto: logon do Facebook
- Para URIs de redirecionamento OAuth válidos, insira
https://<server>:<port>.
- Para URL do site, insira
-
Depois que o aplicativo tiver sido criado, localize o ID do aplicativo e Segredo do aplicativo configurações. Essas informações são necessárias para configurar o Facebook cloud service.
Criar um Cloud Service de conexão Facebook create-a-facebook-connect-cloud-service
A variável Aplicativo e provedor Adobe Granite OAuth instância, instanciada ao criar uma configuração do cloud service, identifica o aplicativo Facebook e os grupos de membros aos quais os novos usuários são adicionados.
-
Na instância do autor AEM, faça logon com privilégios de administrador.
-
Na navegação global, selecione Ferramentas > Cloud Service > Configuração de logon social do facebook.
-
Selecione a configuração caminho do contexto.
Caminho do contexto deve ser o mesmo que o caminho de configuração na nuvem selecionado ao criar/editar um site da comunidade.
-
Verifique se o caminho de contexto está habilitado para criar serviços de nuvem abaixo dele.
-
Ir para Ferramentas > Geral > Navegador de configuração. Selecione o contexto e edite as propriedades. Habilite as Configurações de nuvem se ainda não estiver habilitado.
- Consulte a Navegador de configuração para obter mais informações.
-
Criar/Editar Configuração do facebook Cloud Service.
- Título (Obrigatório) Insira um título de exibição que identifique o aplicativo Facebook. Use o mesmo nome inserido como Nome de exibição para o aplicativo Facebook.
- Chave do aplicativo ID/API (Obrigatório) Insira o ID do aplicativo para o aplicativo Facebook. Isso identifica o Aplicativo e provedor Adobe Granite OAuth instância criada a partir da caixa de diálogo.
- Segredo do aplicativo (Obrigatório) Insira o Segredo do aplicativo para o aplicativo Facebook.
- Criar usuários Se marcado, o logon com uma conta do Facebook criará uma entrada de usuário AEM e a adicionará como membro aos grupos de usuários selecionados. O padrão está marcado (altamente recomendado).
- Mascarar IDs de usuário: Deixe desmarcado.
- Email do escopo: a ID de email do usuário deve ser buscada no Facebook.
- Adicionar a grupos de usuários selecione Adicionar grupo de usuários para escolher um ou mais grupos de membros para o site da comunidade ao qual os usuários serão adicionados.
note note NOTE Os grupos podem ser adicionados ou removidos a qualquer momento. Mas as associações de usuários existentes não são afetadas. A associação automática se aplica somente a novos usuários que estão sendo criados após a atualização desse campo. Para os sites em que os usuários anônimos estão desativados, opte por adicionar usuários ao grupo de membros da comunidade correspondente destinado ao site fechado da comunidade. - Selecionar SALVE.
- Publish.
O resultado é um Aplicativo e provedor Adobe Granite OAuth instância que não requer mais modificações, a menos que seja adicionado um escopo adicional (permissões). O escopo padrão são as permissões padrão para logon no Facebook. Se desejar escopo adicional, é necessário editar a configuração OSGI diretamente. Se houver modificações feitas diretamente pelo sistema/console, evite editar as configurações do Cloud Service na interface para toque, evitando substituições.
Provedor OAuth do AEM Communities Facebook aem-communities-facebook-oauth-provider
O provedor do AEM Communities estende o Aplicativo e provedor Adobe Granite OAuth instância.
Esse provedor exigirá edição para:
-
Permitir atualizações do usuário
-
Adicionar campos adicionais dentro do escopo
- Nem todos os campos permitidos por padrão são incluídos por padrão.
Se a edição for necessária, em cada instância de publicação AEM:
-
Faça logon com privilégios de administrador.
-
Navegue até a Console da Web. Por exemplo, http://localhost:4503/system/console/configMgr.
-
Localize o Provedor OAuth do AEM Communities Facebook.
-
Selecione o ícone de lápis a ser aberto para edição.
-
ID do provedor OAuth
(Obrigatório) O valor padrão é soco -facebook. Não editar.
-
Configuração de Cloud Service
O valor padrão é
/etc/ cloudservices / facebookconnect
. Não editar. -
Configuração do serviço do provedor OAuth
O valor padrão é
/apps/social/facebookprovider/config/
. Não editar. -
Ativar tags
Não editar.
-
Caminho do usuário
Local no repositório onde os dados do usuário estão armazenados. Para um site da comunidade, para garantir permissões para que os membros visualizem o perfil uns dos outros, o caminho deve ser o padrão /home/users/community.
-
Ativar campos
Se marcados, os Campos listados serão especificados na solicitação ao Facebook para autenticação e informações do usuário. O padrão é desmarcado.
-
Campos
Quando os Campos são ativados, os seguintes campos são incluídos ao chamar a API do gráfico do Facebook. Os campos devem ser permitidos dentro do escopo definido na configuração do Cloud Service. Campos adicionais podem exigir aprovação pela Facebook. Consulte a seção Permissões de logon do Facebook da documentação do Facebook. Os campos padrão adicionados como parâmetros são:
- id
- name
- first_name
- last_name
- link
- localidade
- imagem
- fuso horário
- updated_time
- verificado
Se algum campo for adicionado ou alterado, atualize a configuração correspondente do Manipulador de sincronização padrão para corrigir o mapeamento.
-
Atualizar usuário
Se marcado, atualiza os dados do usuário no repositório em cada logon para refletir as alterações de perfil ou os dados adicionais solicitados. O padrão está desmarcado.
-
Próximas etapas next-steps
As próximas etapas são as mesmas para o Facebook e o Twitter:
Login do Twitter twitter-login
Criar um aplicativo do Twitter create-a-twitter-app
Um aplicativo Twitter configurado é necessário para habilitar o logon na rede social do Twitter.
Siga as instruções mais recentes para criar um aplicativo do Twitter em https://apps.twitter.com.
Em geral:
-
Insira um Nome que identificará o aplicativo Twitter para os usuários do site.
-
Insira um Descrição.
-
Para site - insira
https://<server>
. -
Para URL de retorno - insira
https://server
.note note NOTE Não é necessário especificar a porta. Para desenvolvimento, https://127.0.0.1/ funcionará. -
Depois que o aplicativo tiver sido criado, localize o Chave do consumidor (API) e Segredo do consumidor (API). Essas informações serão necessárias para configurar o Twitter cloud service.
Permissões permissions
Na seção de permissões do gerenciamento de aplicativos do Twitter:
-
Access: Selecionar
Read only
.- Outras opções não são suportadas
-
Permissões adicionais: Opcionalmente, escolha
Request email addresses from users
.- Se não for selecionada, o perfil do usuário no AEM não incluirá seu endereço de email.
- as instruções do Twitter observam as etapas adicionais a serem seguidas.
A única solicitação REST feita para logon social é para GET account/verificar credenciais.
Criar um Cloud Service de conexão do Twitter create-a-twitter-connect-cloud-service
A variável Aplicativo e provedor Adobe Granite OAuth instância, instanciada ao criar uma configuração do cloud service, identifica o aplicativo do Twitter e os grupos de membros aos quais os novos usuários são adicionados.
-
Na instância do autor, faça logon com privilégios de administrador.
-
Na navegação global, selecione Ferramentas > Cloud Service > Configuração de logon social do Twitter.
-
Escolha o caminho do contexto configuração.
O Caminho do contexto deve ser igual ao caminho de configuração da nuvem selecionado ao criar/editar um site da comunidade.
-
Verifique se o caminho de contexto está habilitado para criar serviços de nuvem abaixo dele.
-
Ir para Ferramentas > Geral > Navegador de configuração. Selecione o contexto e edite as propriedades. Habilite as Configurações de nuvem se ainda não estiver habilitado.
- Consulte a Navegador de configuração para obter mais informações.
-
Criar/editar a configuração do serviço de nuvem do Twitter.
-
Título
(Obrigatório) Insira um título de exibição que identifique o aplicativo Twitter. Use o mesmo nome inserido como Nome de exibição para o aplicativo Twitter.
-
Chave do consumidor
(Obrigatório) Insira o Chave do consumidor (API) para o aplicativo Twitter. Isso identifica o Aplicativo e provedor Adobe Granite OAuth instância criada a partir da caixa de diálogo.
-
Segredo do consumidor
(Obrigatório) Insira o Segredo do consumidor (API) para o aplicativo Twitter.
-
Criar usuários
Se marcado, o login com uma conta do Twitter criará uma entrada de usuário AEM e a adicionará como membro ao(s) grupo(s) de usuários selecionado(s). O padrão está marcado (altamente recomendado).
-
Mascarar IDs de usuário
Deixe desmarcado.
-
Adicionar a grupos de usuários
Selecione Adicionar grupo de usuários para escolher um ou mais grupos de membros para o site da comunidade ao qual os usuários serão adicionados.
note note NOTE Os grupos podem ser adicionados ou removidos a qualquer momento. Mas as associações de usuários existentes não são afetadas. A associação automática se aplica somente a novos usuários que estão sendo criados após a atualização desse campo. Para os sites em que os usuários anônimos estão desativados, adicione usuários ao grupo de membros da comunidade correspondente destinado ao site da comunidade fechado. -
-
Selecionar SALVE e Publish.
O resultado é um Aplicativo e provedor Adobe Granite OAuth que não exige mais modificações. O escopo padrão são as permissões padrão para logon de Twitter.
Provedor OAuth do AEM Communities Twitter aem-communities-twitter-oauth-provider
A configuração do AEM Communities estende a Aplicativo e provedor Adobe Granite OAuth instância. Esse provedor exigirá edição para permitir atualizações do usuário.
Se a edição for necessária, em cada instância de publicação AEM:
-
Faça logon com privilégios de administrador.
-
Navegue até a Console da Web.
Por exemplo, http://localhost:4503/system/console/configMgr.
-
Localize o Provedor OAuth do AEM Communities Twitter.
-
Selecione o ícone de lápis a ser aberto para edição.
- ID do provedor OAuth
(Obrigatório) O valor padrão é soco -twitter. Não editar.
-
Configuração de Cloud Service
O valor padrão é conf. Não editar.
-
Configuração do serviço do provedor OAuth
O valor padrão é
/apps/social/twitterprovider/config/
. Não editar. -
Caminho do usuário
Local no repositório onde os dados do usuário estão armazenados. Para um site da comunidade, para garantir permissões para que os membros visualizem o perfil uns dos outros, o caminho deve ser o padrão
/home/users/community
. -
Ativar parâmetros - não editar
-
Parâmetros de URL - não editar
-
Atualizar usuário
Se marcado, atualiza os dados do usuário no repositório em cada logon para refletir as alterações de perfil ou os dados adicionais solicitados. O padrão é desmarcado.
Próximas etapas next-steps-1
As próximas etapas são as mesmas para o Facebook e o Twitter:
Ativar logon social enable-social-login
Console de sites do AEM Communities aem-communities-sites-console
Depois que um serviço em nuvem é configurado, ele pode ser ativado para a configuração relevante de Logon social de um site da comunidade usando o User Management Subpainel Configurações durante o site da comunidade criação ou gerenciamento.
-
Escolha o contexto de configuração do site onde você salvou as configurações de logon social.
-
Na guia Geral, defina as configurações de nuvem.
-
Na guia Configurações, ative Logons sociais e Salvar.
Testar logon social test-social-login
- Assegurar Manipulador de autenticação OAuth do Adobe Granite foi ativado em todas as instâncias de publicação.
- Verifique se os serviços em nuvem foram publicados.
- Verifique se o site da comunidade foi publicado.
- Inicie o site publicado em um navegador.
Por exemplo, http://localhost:4503/content/sites/engage/en.html - Selecionar Login.
- Selecione Fazer logon com a Facebook ou Fazer logon com o Twitter.
- Se ainda não tiver feito logon no Facebook ou no Twitter, faça logon com as credenciais apropriadas.
- Pode ser necessário conceder permissão dependendo da caixa de diálogo exibida pelo aplicativo Facebook ou Twitter.
- Observe que a barra de ferramentas na parte superior da página é atualizada para refletir o logon bem-sucedido.
- Selecionar Perfil: a página Perfil exibe a imagem de avatar, o nome e o sobrenome do usuário. Ela também exibe as informações do perfil do Facebook ou do Twitter de acordo com os campos/parâmetros permitidos.
Configurações do OAuth para a plataforma AEM aem-platform-oauth-configurations
Manipulador de autenticação OAuth do Adobe Granite adobe-granite-oauth-authentication-handler
A variável Adobe Granite OAuth Authentication Handler
não está habilitado por padrão e deve ser ativado em todas as instâncias de publicação do AEM.
Para ativar o manipulador de autenticação na publicação, basta abrir a configuração do OSGi e salvá-la:
- Faça logon com privilégios de administrador.
- Navegue até a Console da Web.
Por exemplo, http://localhost:4503/system/console/configMgr - Localizar
Adobe Granite OAuth Authentication Handler
. - Selecione para abrir a configuração para edição.
- Selecione Salvar.
Aplicativo e provedor Adobe Granite OAuth adobe-granite-oauth-application-and-provider
Quando um serviço em nuvem para o Facebook ou Twitter é criado, uma instância de Adobe Granite OAuth Authentication Handler
é criado.
Para localizar a instância criada para um aplicativo Facebook ou Twitter:
-
Faça logon com privilégios de administrador.
-
Navegue até a Console da Web.
Por exemplo, http://localhost:4503/system/console/configMgr.
-
Localize o Aplicativo e Provedor Adobe Granite OAuth.
-
Localize a instância em que ID do cliente corresponde ao ID do aplicativo.
Com exceção das seguintes propriedades, deixe as outras propriedades da configuração inalteradas:
-
ID de configuração
(Obrigatório) As IDs de configuração do OAuth devem ser exclusivas. Gerado automaticamente quando o serviço em nuvem é criado.
-
ID do cliente
(Obrigatório) A ID do aplicativo fornecida quando o serviço em nuvem foi criado.
-
Segredo do cliente
(Obrigatório) A senha do aplicativo fornecida quando o serviço em nuvem foi criado.
-
Escopo
(Opcional) Escopo adicional para o que é permitido pode ser solicitado do provedor. O escopo padrão abrange as permissões necessárias para fornecer autenticação social e dados de perfil.
-
ID do provedor
(Obrigatório) A ID do provedor do AEM Communities é definida quando o serviço em nuvem é criado. Não editar. Para o Facebook Connect, o valor é soco -facebook. Para o Twitter Connect, o valor é soco -twitter.
-
Grupos
(Recomendado) Um ou mais grupos de membros aos quais os usuários criados são adicionados. No AEM Communities, é recomendável listar o grupo de membros para o site da comunidade.
-
URL de retorno
(Opcional) URL configurado com os provedores OAuth para redirecionar o cliente. Use um URL relativo para usar o host da solicitação original. Deixe em branco para utilizar o URL originalmente solicitado. O sufixo "/callback/j_security_check" é anexado automaticamente a este url.
note note NOTE O domínio para o retorno de chamada deve ser registrado com o provedor (Facebook ou Twitter). -
Para cada configuração do manipulador de autenticação OAuth, há duas configurações adicionais criadas na instância:
- Manipulador de sincronização padrão do Apache Jackrabbit Oak (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler) - Nenhuma edição é necessária, mas você pode consultar os mapeamentos de campo de usuário como os campos do Facebook são mapeados para um nó de perfil de usuário do CQ. Observe também que "Nome do manipulador de sincronização" corresponde à ID de configuração da configuração do provedor OAuth.
- Módulo de logon externo do Apache Jackrabbit Oak (org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory) - Nenhuma edição é necessária, mas você pode notar que 'Nome do provedor de identidade' e 'Nome do manipulador de sincronização' são iguais e apontam para as configurações correspondentes do OAuth e do manipulador de sincronização, respectivamente.
Para obter mais informações, consulte Autenticação com o módulo de logon externo do Apache Oak.
Desempenho de passagem de usuário do OAuth oauth-user-traversal-performance
Para sites da comunidade que veem centenas de milhares de usuários se registrarem usando o logon do Facebook ou do Twitter, o desempenho de passagem da consulta executada quando um visitante do site usa o logon social pode ser aprimorado adicionando o seguinte índice Oak.
Se avisos de passagem forem vistos nos logs, é recomendável adicionar esse índice.
Em uma instância de autor, conectado com privilégios administrativos:
-
Na navegação global: selecione Ferramentas, CRX/DE Lite.
-
Crie um índice chamado ntBaseLucene-oauth a partir de uma cópia de ntBaseLucene:
- No nó
/oak:index
- Selecionar nó
ntBaseLucene
- Selecionar Copiar
- Selecionar
/oak:index
- Selecionar Colar
- Renomear cópia de ntBaseLucene para
ntBaseLucene-oauth
- No nó
-
Modifique as propriedades do nó ntBaseLucene-oauth:
- indexPath:
/oak:index/ntBaseLucene-oauth
- name:
oauthid-123​**​**
- reindexar:
true
- reindexCount:
1
- indexPath:
-
No nó /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:
-
Exclua todos os nós filhos, exceto cqTags.
-
Renomear cqTags para
oauthid-123**​**
-
Modificar as propriedades do nó
oauthid-123**​**
- name:
oauthid-123​**​**
- name:
-
Selecionar Salvar tudo.
-
-
Para o name
oauthid-123
, substituir 123 com a Facebook ID do aplicativo ou Twitter Chave do consumidor (API) esse é o valor de ID do cliente no Aplicativo e provedor Adobe Granite OAuth configuração.
Para obter informações e ferramentas adicionais, consulte Consultas e indexação do Oak.
Configuração do Dispatcher dispatcher-configuration
Consulte Configuração do Dispatcher para comunidades.