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.
Para incluir logon social, é necessário criar aplicativos Facebook e Twitter personalizados.
Embora a amostra do we-retail forneça aplicativos de amostra e serviços em nuvem da Facebook e Twitter, eles não estão disponíveis em um site de produção.
As etapas necessárias são:
Habilite a autenticação OAuth em todas as instâncias de publicação AEM.
Sem o OAuth habilitado, as tentativas de fazer logon falham.
Crie um aplicativo social e um serviço em nuvem.
Para oferecer suporte ao logon com o Facebook:
Para oferecer suporte ao logon com o Twitter:
Habilite o logon social para um site da comunidade.
Há dois conceitos básicos:
O escopo (permissões) especifica os dados que o aplicativo pode solicitar.
Fields (params) especifica os dados reais solicitados usando parâmetros de URL.
O logon 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.
Para versões de AEM mais antigas, se estiver enfrentando uma exceção em logs Não é possível extrair um token desse, atualize para o CFP mais recente para essa versão AEM.
Para obter informações sobre a versão da API do Facebook Graph, consulte o Log de alterações da API do Facebook.
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:
https://<server>:<port>.
https://<server>:<port>.
Para desenvolvimento, http://localhost:4503 funcionará.
Depois que o aplicativo for criado, localize as configurações ID do aplicativo e Segredo do aplicativo. Essas informações são necessárias para configurar o Facebook cloud service.
A instância Adobe Granite OAuth Application and Provider, instanciada ao criar uma configuração de serviço de nuvem, identifica o aplicativo Facebook e os grupos de membros aos quais os novos usuários são adicionados.
Na instância do autor do AEM, faça logon com privilégios de administrador.
Na navegação global, selecione Ferramentas > Cloud Services > Configuração de logon do Facebook Social.
Selecione o caminho de contexto da configuração.
O caminho de contexto deve ser o mesmo do caminho de configuração de nuvem que você selecionou ao criar/editar um site de comunidade.
Verifique se o caminho do contexto está habilitado para criar serviços em nuvem abaixo dele.
Vá 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.
Criar/ editar a configuração do serviço de nuvem do Facebook.
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.
O resultado é uma instância Adobe Granite OAuth Application and Provider que não requer mais modificação 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 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.
O provedor AEM Communities estende a instância Adobe Granite OAuth Application and Provider.
Este provedor precisará ser editado para:
Permitir atualizações do usuário
Adicionar campos adicionais dentro do escopo
Se a edição for necessária, em cada instância de publicação de AEM:
Faça logon com privilégios de administrador.
Navegue até Console da Web. Por exemplo, http://localhost:4503/system/console/configMgr.
Localize AEM Communities Facebook OAuth Provider.
Selecione o ícone de lápis para abrir para edição.
ID do provedor OAuth
(Obrigatório) O valor padrão é soco -facebook. Não edite.
Cloud Service Config
O valor padrão é /etc/ cloudservices / facebookconnect
. 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 visualizem 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.
Fields
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:
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.
As próximas etapas são as mesmas para Facebook e Twitter:
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:
Insira um Name que identificará seu aplicativo do Twitter para os usuários do seu site.
Insira um Description.
Para site - digite https://<server>
.
Para Callback URL - digite https://server
.
Não é necessário especificar a porta.
Para desenvolvimento, https://127.0.0.1/ funcionará.
Depois que o aplicativo for criado, localize a Chave do consumidor (API) e Segredo do consumidor (API). Essas informações serão necessárias para configurar o Twitter cloud service.
Na seção de permissões do gerenciamento de aplicativos do Twitter :
Acesso: Selecione Read only
.
Permissões adicionais: Opcionalmente, escolha Request email addresses from users
.
A única solicitação REST feita para logon social é para GET account/verify credentials.
A instância Adobe Granite OAuth Application and Provider, instanciada ao criar uma configuração de serviço de nuvem, identifica o aplicativo 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 Services > Configuração de logon do Twitter Social.
Escolha a configuração context path.
O Caminho do contexto deve ser o mesmo do caminho de configuração da nuvem selecionado ao criar/editar um site da comunidade.
Verifique se o caminho do contexto está habilitado para criar serviços em nuvem abaixo dele.
Vá 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.
Criar/editar a configuração do serviço de nuvem da Twitter.
Título
(Obrigatório) Insira um título de exibição que identifique o aplicativo do Twitter. É recomendável usar o mesmo nome inserido como Nome de exibição para o aplicativo Twitter.
Chave do consumidor
(Obrigatório) Insira a Chave do consumidor (API) para o aplicativo Twitter. Isso identifica a instância Adobe Granite OAuth Application and Provider 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 aos 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.
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.
Selecione SAVE e Publish.
O resultado é uma instância Adobe Granite OAuth Application and Provider que não requer modificação adicional. O escopo padrão são as permissões padrão para logon no Twitter.
A configuração do AEM Communities estende a instância Adobe Granite OAuth Application and Provider. 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:
Faça logon com privilégios de administrador.
Navegue até Console da Web.
Por exemplo, http://localhost:4503/system/console/configMgr.
Localize AEM Communities Twitter OAuth Provider.
Selecione o ícone de lápis para abrir para edição.
(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 permissões para os membros visualizarem o perfil um do outro, o caminho deve ser o /home/users/community
padrão.
Ativar parâmetros não editar
Parâmetros de URL não editam
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.
As próximas etapas são as mesmas para Facebook e Twitter:
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 subpainel Gerenciamento de usuários Configurações durante o site da comunidade criação ou gerenciamento.
Escolha o contexto de configuração do site em que você salvou as configurações de logon social.
Na guia General , defina as configurações da nuvem.
Na guia Configurações , ative Logons sociais e Salvar.
O Adobe Granite OAuth Authentication Handler
não está habilitado por padrão e deve estar habilitado 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:
Adobe Granite OAuth Authentication Handler
.Tenha cuidado para não confundir o manipulador de autenticação com uma instância Facebook ou Twitter de Adobe Granite OAuth Application and Provider.
Quando um serviço de 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:
Faça logon com privilégios de administrador.
Navegue até Console da Web.
Por exemplo, http://localhost:4503/system/console/configMgr.
Localize o aplicativo e provedor OAuth do Adobe Granite.
Localize a instância em que ID do cliente corresponde ao ID do aplicativo.
Exceto as seguintes propriedades, deixe as outras propriedades da configuração inalteradas:
ID de configuração
(As IDs de configuração OAuth necessárias) 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 .
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:
Para obter mais informações, consulte Autenticação com o Apache Oak External Login Module.
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:
Na navegação global: selecione Ferramentas, CRX/DE Lite.
Crie um índice chamado ntBaseLucene-oauth a partir de uma cópia de ntBaseLucene:
/oak:index
ntBaseLucene
/oak:index
ntBaseLucene-oauth
Modifique as propriedades do nó ntBaseLucene-oauth:
/oak:index/ntBaseLucene-oauth
oauthid-123​**​**
true
1
Em node /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:
Exclua todos os nós secundários, exceto cqTags.
Renomeie cqTags para oauthid-123​**​**
Modifique as propriedades do nó oauthid-123​**​**
oauthid-123​**​**
Selecione Salvar tudo.
Para o nome oauthid-123
, substitua 123 pelo Facebook App ID ou Twitter Consumer (API) Key que é o valor do Client ID no Adobe Configuração do Granite OAuth Application e Provider.
Para obter informações e ferramentas adicionais, consulte Consultas e Indexação do Oak.
Consulte Configuração do Dispatcher para Comunidades.