Logon no Social com Facebook e Twitter social-login-with-facebook-and-twitter

CAUTION
AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.

O logon social é a capacidade de apresentar a um visitante do site a opção de fazer logon com sua conta do Facebook ou Twitter. Portanto, incluindo dados permitidos do Facebook ou Twitter em seu perfil de membro AEM.

socialloginweretail

Visão geral de logon do Social social-login-overview

Para incluir logon social, é *necessário *criar aplicativos Facebook e Twitter personalizados.

Embora a amostra de varejo forneça aplicativos de amostra do 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:

  1. Habilitar autenticação OAuth em todas as instâncias de publicação AEM.

    Sem o OAuth habilitado, as tentativas de fazer logon falham.

  2. Criar um aplicativo social e um serviço em nuvem.

  3. Habilitar logon social para um site da comunidade.

Há dois conceitos básicos:

  1. Escopo (permissões) especifica os dados que o aplicativo tem permissão para solicitar.

  2. Campos (params) especifica os dados reais solicitados usando parâmetros de URL.

Logon do facebook facebook-login

Versão da API do facebook facebook-api-version

O login do Social e a amostra do Facebook de varejo foram desenvolvidos quando a API do Facebook Graph era a versão 1.0.
A partir AEM 6.4 GA e AEM 6.3 SP1 o login social foi atualizado para funcionar com a versão mais recente da API 2.5 do Facebook Graph.

NOTE
Para versões de AEM mais antigas, se você estiver enfrentando uma exceção nos logs Não é possível extrair um token deste, atualize para o CFP mais recente para essa versão de AEM.

Para obter informações sobre a versão da API do Facebook Graph, consulte Log de alterações da API do facebook.

Criar um aplicativo Facebook create-a-facebook-app

Um aplicativo Facebook corretamente configurado é necessário para ativar 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 às suas instruções não são refletidas nas informações seguintes.

Em geral, a partir da API do Facebook v2.7:

  • Adicionar um novo aplicativo Facebook:

    • Para Plataforma, 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 de conexão do Facebook.
    • 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>.
NOTE
Para desenvolvimento, http://localhost:4503 funcionará.

Depois que o aplicativo for criado, localize a variável ID do aplicativo e Segredo do aplicativo configurações. Essas informações são necessárias para configurar o Serviço em nuvem facebook.

Criar um Cloud Service Facebook Connect create-a-facebook-connect-cloud-service

O Aplicativo e provedor OAuth do Adobe Granite , instanciada ao criar uma configuração do serviço de nuvem, identifica o aplicativo do Facebook e os grupos de membros aos quais os novos usuários são adicionados.

  1. Na instância do autor do AEM, faça logon com privilégios de administrador.

  2. Na navegação global, selecione Ferramentas > Cloud Services > Configuração de logon do Facebook Social.

  3. Selecione a configuração caminho do contexto.

    Caminho do contexto deve ser o mesmo caminho de configuração de nuvem selecionado ao criar/editar um site da comunidade.

  4. Verifique se o caminho do contexto está habilitado para criar serviços em nuvem abaixo dele.

  5. Ir para Ferramentas > Geral > Navegador de configuração. Selecione o contexto e edite as propriedades. Ative as Configurações da nuvem se ainda não estiverem ativadas.

    config-propertiespng

  6. Criar/editar a configuração do serviço de nuvem da Facebook.

    fbsocialloginconfigpng

    • Título (Obrigatório) Insira um título de exibição que identifique o aplicativo do Facebook. É recomendável usar o mesmo nome digitado como o Nome de exibição para o aplicativo Facebook.
    • Chave da ID/API do aplicativo (Obrigatório) Insira o ID do aplicativo para o aplicativo Facebook. Isso identifica a variável Aplicativo e provedor OAuth do Adobe Granite 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 marcada, fazer logon com uma conta do Facebook 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 desmarcada.
    • Email do escopo: a id de email do usuário deve ser obtida do 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 serão afetadas. A associação automática se aplica somente a novos usuários que estão sendo criados após essa atualização de campo. Para Sites onde usuários anônimos estão desativados, escolha adicionar usuários ao grupo correspondente de membros da comunidade criado para esse site fechado da comunidade.
    • Selecionar SALVAR.
    • Publicação.

O resultado é um Aplicativo e provedor OAuth do Adobe Granite instância que não requer mais modificação, a menos que adicione escopo adicional (permissões). O escopo padrão são as permissões padrão para logon no Facebook. Se desejar um escopo adicional, é necessário editar a configuração do OSGI diretamente. Se houver modificações feitas diretamente pelo sistema/console, evite editar as configurações do serviço de nuvem da interface do usuário de toque para evitar sobreposição.

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

O provedor AEM Communities estende o Aplicativo e provedor OAuth do Adobe Granite instância.

Este provedor precisará ser editado 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 de AEM:

  1. Faça logon com privilégios de administrador.

  2. Navegue até o Console da Web. Por exemplo, http://localhost:4503/system/console/configMgr.

  3. Localize AEM Communities Facebook OAuth Provider.

  4. Selecione o ícone de lápis para abrir para edição.

    fboauthprov_png

    • ID do provedor OAuth

      (Obrigatório) O valor padrão é soco - facebook. Não edite.

    • Cloud Service Config

      O valor padrão é /etc/ cloudservices / facebook. Não edite.

    • Configuração do Serviço de Provedor OAuth

      O valor padrão é /apps/social/facebookprovider/config/. Não edite.

    • Ativar Tags

      Não editar.

    • Caminho do usuário

      Localização no repositório onde os dados do usuário são armazenados. Para um site da comunidade, para garantir que os membros tenham permissões para visualizar o perfil um do outro, o caminho deve ser o padrão /home/users/community.

    • Ativar campos

      Se marcada, os Campos listados são especificados na solicitação para a 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 Facebook. Os campos devem ser permitidos dentro do escopo definido na configuração do serviço de nuvem. Campos adicionais podem exigir aprovação da Facebook. Consulte a seção Permissões de logon do Facebook da documentação da Facebook . Os campos padrão adicionados como parâmetros são:

      • id
      • name
      • first_name
      • last_name
      • link
      • localidade
      • picture
      • fuso horário
      • update_time
      • verificado
      • email

    Se qualquer campo for adicionado ou alterado, atualize a configuração do manipulador de Sincronização padrão correspondente para corrigir o mapeamento.

    • Atualizar usuário
      Se marcada, 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 Facebook e Twitter:

Logon do twitter twitter-login

Criar um aplicativo Twitter create-a-twitter-app

Um aplicativo Twitter configurado é necessário para ativar o logon social do Twitter.

Siga as instruções mais recentes para criar um novo aplicativo Twitter em https://apps.twitter.com.

Em geral:

  1. Insira um Nome que identificará o aplicativo Twitter para os usuários do site.

  2. Insira um Descrição

  3. Para site - digite https://<server>/.

  4. Para URL de retorno - digite https://<server>/.

    note note
    NOTE
    Não é necessário especificar a porta.
    Para desenvolvimento, https://127.0.0.1/ funcionará.
  5. Depois que o aplicativo for criado, localize a variável Chave do consumidor (API) e Segredo do consumidor (API). Essas informações serão necessárias para configurar o Serviço em nuvem twitter.

Permissões permissions

Na seção de permissões do gerenciamento de aplicativos do Twitter :

  • Acesso: Selecionar Read only.

    • Outras opções não são compatíveis
  • Permissões adicionais: Opcionalmente, escolha Request email addresses from users.

    • Se não estiver selecionado, o perfil do usuário no AEM não incluirá seu endereço de email.
    • As instruções da twitter apontam para etapas adicionais a serem seguidas.

A única solicitação REST feita para logon social é para Credenciais de verificação/conta do GET.

Criar um Cloud Service Twitter Connect create-a-twitter-connect-cloud-service

O Aplicativo e provedor OAuth do Adobe Granite , instanciada ao criar uma configuração do serviço de nuvem, identifica o aplicativo do Twitter e os grupos de membros aos quais os novos usuários são adicionados.

  1. Na instância do autor, faça logon com privilégios de administrador.

  2. Na navegação global, selecione Ferramentas > Cloud Services > Configuração de logon do Twitter Social.

  3. Escolha a caminho do contexto configuração.

    O Caminho do contexto deve ser o mesmo do caminho de configuração da nuvem selecionado ao criar/editar um site da comunidade.

  4. Verifique se o caminho do contexto está habilitado para criar serviços em nuvem abaixo dele.

  5. Ir para Ferramentas > Geral > Navegador de configuração. Selecione o contexto e edite as propriedades. Ative as Configurações da nuvem se ainda não estiverem ativadas.

    twitterconfigpropng

  6. Criar/editar a configuração do serviço de nuvem da Twitter.

    twittersocialloginpng

    • Título (Obrigatório) Insira um título de exibição que identifique o aplicativo do Twitter. É recomendável usar o mesmo nome digitado como o 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 a variável Aplicativo e provedor OAuth do Adobe Granite 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 marcada, fazer logon 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 desmarcada.

    • 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 serão afetadas. A associação automática se aplica somente a novos usuários que estão sendo criados após essa atualização de campo. Para Sites onde usuários anônimos estão desativados, adicione usuários ao grupo de membros da comunidade correspondente criado para esse site fechado da comunidade.
  7. Selecionar SALVAR e Publicar.

O resultado é um Aplicativo e provedor OAuth do Adobe Granite instância que não requer modificações adicionais. O escopo padrão são as permissões padrão para logon no Twitter.

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

A configuração do AEM Communities estende o Aplicativo e provedor OAuth do Adobe Granite instância. Este provedor precisará de edição para permitir atualizações de usuário.

Se a edição for necessária, em cada instância de publicação de AEM:

  1. Faça logon com privilégios de administrador.

  2. Navegue até o Console da Web.

    Por exemplo, http://localhost:4503/system/console/configMgr.

  3. Localize AEM Communities Twitter OAuth Provider.

  4. Selecione o ícone de lápis para abrir para edição.

    twitteroauth_png

    • ID do provedor OAuth (Obrigatório)

      O valor padrão é soco - twitter. Não edite.

    • Cloud Service Config

      O valor padrão é conf. Não edite.

    • Configuração do Serviço de Provedor OAuth

      O valor padrão é /apps/social/twitterprovider/config/. Não edite.

    • Caminho do usuário

      Localização no repositório onde os dados do usuário são armazenados. Para um site da comunidade, para garantir que os membros tenham permissões para visualizar o perfil um do outro, o caminho deve ser o padrão /home/users/community.

    • Ativar params não editar

    • Parâmetros de URL não editar

    • Atualizar usuário

      Se marcada, 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 Facebook e Twitter:

Ativar o logon do Social enable-social-login

Console de sites da 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 a variável Gerenciamento de usuários Subpainel Configurações durante o site da comunidade criação ou gerenciamento.

  1. Escolha o contexto de configuração do site em que você salvou as configurações de logon social.

  2. Na guia General , defina as configurações da nuvem.

    managesites_png

  3. Na guia Configurações , ative Logons do Social e Salvar.

    usermgmt_png

Testar logon social test-social-login

  • Garantir 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
  • Certifique-se de que o site da comunidade foi publicado
  • Inicie o site publicado em um navegador. Por exemplo, http://localhost:4503/content/sites/engage/en.html
  • Selecionar Logon
  • Selecione um Fazer logon com o Facebook ou Fazer logon com o Twitter
  • Se ainda não tiver feito logon no Facebook ou 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. Também exibe as informações do perfil do Facebook ou Twitter de acordo com os campos/parâmetros permitidos.

Configurações do AEM Platform OAuth aem-platform-oauth-configurations

Manipulador de Autenticação OAuth do Adobe Granite adobe-granite-oauth-authentication-handler

O Adobe Granite OAuth Authentication Handler não está ativado por padrão e deve ser ativado em todas as instâncias de publicação AEM.

Para ativar o manipulador de autenticação na publicação, basta abrir a configuração do OSGi e salvá-la:

  • Fazer logon com privilégios de administrador
  • Navegue até o 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

chlimage_1-489

CAUTION
Tenha cuidado para não confundir o manipulador de autenticação com uma instância do Facebook ou Twitter de Aplicativo e provedor OAuth do Adobe Granite.

chlimage_1-490

Aplicativo e provedor OAuth do Adobe Granite adobe-granite-oauth-application-and-provider

Quando um serviço em nuvem para Facebook ou Twitter é criado, uma instância de Adobe Granite OAuth Authentication Handler é criada.

Para localizar a instância criada para um aplicativo Facebook ou Twitter:

  1. Faça logon com privilégios de administrador.

  2. Navegue até o Console da Web.

    Por exemplo, http://localhost:4503/system/console/configMgr.

  3. Localize o aplicativo e provedor OAuth do Adobe Granite.

    • Localize a instância em que ID do cliente corresponde ao ID do aplicativo

    chlimage_1-491

    Exceto as seguintes propriedades, deixe as outras propriedades da configuração inalteradas:

    • ID de configuração

      (Obrigatório) As IDs de configuração OAuth devem ser exclusivas. Gerado automaticamente quando o serviço de nuvem é criado.

    • ID do cliente

      (Obrigatório) A ID do aplicativo fornecida quando o serviço de nuvem foi criado.

    • Client Secret

      (Obrigatório) O segredo do aplicativo fornecido quando o serviço de nuvem foi criado.

    • Escopo

      (Opcional) O escopo adicional para o que é permitido pode ser perguntado ao 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 de nuvem é criado. Não edite. 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. Para o 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 de volta. Use um url relativo para usar o host da solicitação original. Deixe em branco para usar o URL solicitado originalmente. 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 no 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 observar o campo de usuário mapeia como os campos do Facebook são mapeados para um nó de perfil de usuário do CQ. Observe também que "Sync Handler Name" 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 lá, mas você pode notar que 'Nome do provedor de identidade' e 'Nome do manipulador de sincronização' são iguais e apontam para configurações do manipulador de sincronização e OAuth correspondentes, respectivamente.

Para obter mais informações, consulte Autenticação com o módulo de logon externo do Apache Oak.

Desempenho de passagem do 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 da Facebook ou do Twitter, o desempenho de travessia do query executado quando um visitante do site usa seu login social pode ser melhorado adicionando o seguinte índice Oak.

Se avisos transversais forem vistos nos logs, é recomendável adicionar esse índice.

Em uma instância de autor, conectado com privilégios administrativos:

  1. Na navegação global: select Ferramentas, CRX/DE Lite.

  2. Crie um índice chamado ntBaseLucene-oauth a partir de uma cópia de ntBaseLucene:

    • Em node /oak:index
    • Selecione o nó ntBaseLucene
    • Selecionar Copiar
    • Selecionar /oak:index
    • Selecionar Colar
    • Renomear cópia de ntBaseLucene para ntBaseLucene-oauth
  3. Modifique as propriedades do nó ntBaseLucene-oauth:

    • indexPath: /oak:index/ntBaseLucene-oauth
    • name: oauthid-123xxxx
    • reindexar: true
    • reindexCount: 1
  4. Em node /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:

    • Exclua todos os nós secundários, exceto cqTags.

    • Renomeie cqTags para oauthid-123xxxx

    • Modifique as propriedades do nó oauthid-123xxxx

      • name: oauthid-123xxxx
    • 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 da variável ID do cliente no Aplicativo e provedor OAuth do Adobe Graniteconfiguração.

chlimage_1-492

Para obter mais informações e ferramentas, consulte Consultas e indexação do Oak.

Configuração do Dispatcher dispatcher-configuration

Consulte Configuração do Dispatcher para Comunidades.

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