O login do Social é a capacidade de apresentar a opção de fazer logon em um visitante do site com sua conta do Facebook ou Twitter. Portanto, incluindo dados permitidos do Facebook ou Twitter no perfil de membros AEM.
Para incluir o login social, é *obrigatório *para criar aplicativos personalizados do Facebook e do Twitter.
Embora a amostra de varejo no mercado ofereça exemplos de aplicativos 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:
Ative a autenticação OAuth em todas as instâncias de publicação AEM.
Sem o OAuth ativado, as tentativas de logon falham.
Crie um aplicativo social e um serviço em nuvem.
Para suportar o logon com o Facebook:
Para suportar o logon com o Twitter:
Habilita o logon social para um site da comunidade.
Há dois conceitos básicos:
O escopo (permissões) especifica os dados que o aplicativo tem permissão para solicitar.
Fields (params) especifica os dados reais solicitados usando parâmetros de URL.
O logon do Social e a amostra do Facebook no 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 AEM mais antigas, se você estiver enfrentando uma exceção nos registros Não é possível extrair um token desta, atualize para o CFP mais recente para essa versão AEM.
Para obter informações sobre a versão da API de gráfico do Facebook, consulte a caixa de diálogo de alteração da API do Facebook.
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 do Facebook em https://developers.facebook.com/apps/. As alterações às suas instruções não são refletidas nas seguintes informações.
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 serviço de nuvem do Facebook.
A instância Adobe Granite OAuth Application and Provider, instanciada pela criação de uma configuração de serviço em nuvem, identifica o aplicativo do 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 Services > Configuração de logon do Facebook Social.
Selecione a configuração caminho de contexto.
O caminho de contexto deve ser o mesmo que o 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 em nuvem abaixo dele.
Vá para Ferramentas > Geral > Navegador de configuração. Selecione o contexto e edite as propriedades. Habilite Configurações de nuvem se ainda não estiver habilitado.
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 esta atualização de campo. Para sites nos quais usuários anônimos estão desativados, opte por 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 é as permissões padrão para logon do 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 de usuário do toque para evitar a substituição.
O provedor AEM Communities estende a instância Adobe Granite OAuth Application and Provider.
Esse provedor exigirá edição para:
Permitir atualizações de usuários
Adicionar campos adicionais dentro do escopo
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é Console Web. Por exemplo, http://localhost:4503/system/console/configMgr.
Localize o 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.
Configuração de Cloud Service
O valor padrão é /etc/ cloudservices / facebookconnect. Não edite.
Configuração do Serviço 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 visualização no perfil dos outros, o caminho deve ser o padrão /home/users/community.
Ativar campos
Se marcada, os Campos listados são especificados na solicitação ao Facebook para autenticação de usuário e informações. O padrão é desmarcado.
Fields
Quando Campos estão ativados, os seguintes campos são incluídos ao chamar a API de gráfico do Facebook. Os campos devem ser permitidos dentro do escopo definido na configuração do serviço de nuvem. Campos adicionais podem exigir aprovação do Facebook. Consulte a seção Permissões de logon do Facebook na documentação do Facebook. Os campos padrão adicionados como parâmetros são:
Se algum campo for adicionado ou alterado, atualize a configuração correspondente do manipulador de Sincronização padrão para corrigir o mapeamento.
As próximas etapas são as mesmas para o Facebook e Twitter:
Um aplicativo do Twitter configurado é necessário para ativar o login social do Twitter.
Siga as instruções mais recentes para criar um novo aplicativo do Twitter em https://apps.twitter.com.
Em geral:
Insira um Nome que identificará seu aplicativo do Twitter para os usuários do seu site.
Digite uma Descrição.
Para site - digite https://<server>/.
Para URL de retorno de chamada - 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 serviço de nuvem do Twitter.
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 login social é para conta do GET/verificar credenciais.
A instância Adobe Granite OAuth Application and Provider, instanciada pela criação de uma configuração de serviço em nuvem, 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 Services > Configuração de login do Twitter Social.
Escolha a configuração caminho de contexto.
O caminho de contexto deve ser o mesmo que o 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 em nuvem abaixo dele.
Vá para Ferramentas > Geral > Navegador de configuração. Selecione o contexto e edite as propriedades. Habilite Configurações de nuvem se ainda não estiver habilitado.
Criar/editar a configuração do serviço de nuvem do Twitter.
Título (obrigatório) Insira um título de exibição que identifica o aplicativo do Twitter. É recomendável usar o mesmo nome inserido como Nome de exibição para o aplicativo do Twitter.
consumer key (obrigatório) Digite a chave do consumidor (API) para o aplicativo do Twitter. Isso identifica a instância Adobe Granite OAuth Application and Provider criada a partir da caixa de diálogo.
consumer secret (obrigatório) Insira a Secretaria Consumidor (API) do aplicativo do Twitter.
Criar usuáriosSe marcada, o logon com uma conta do Twitter criará uma entrada de usuário AEM e as adicionará como membro ao(s) grupo(s) de usuários selecionado(s). O padrão está marcado (altamente recomendado).
Mascarar IDs de usuárioDeixe 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.
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 esta atualização de campo. Para sites nos quais usuários anônimos estão desativados, adicione usuários ao grupo correspondente de membros da comunidade criado para esse site fechado da comunidade.
Selecione SALVAR e Publicar.
O resultado é uma instância Adobe Granite OAuth Application and Provider que não requer modificação adicional. O escopo padrã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. Esse provedor precisará de 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é Console Web.
Por exemplo, http://localhost:4503/system/console/configMgr.
Localize o AEM Communities Twitter OAuth Provider.
Selecione o ícone de lápis para abrir para edição.
ID do provedor OAuth (obrigatório)
O valor padrão é soco -twitter. Não edite.
Configuração de Cloud Service
O valor padrão é conf. Não edite.
Configuração do Serviço 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 visualização no perfil dos outros, o caminho deve ser o padrão /home/users/community.
Ativar Paramsdo não editar
Os 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 no perfil ou os dados adicionais solicitados. O padrão é desmarcado.
As próximas etapas são as mesmas para o Facebook e Twitter:
Depois que um serviço em nuvem é configurado, ele pode ser ativado para a configuração relevante de Logon Social para um site da comunidade usando o subpainel Gerenciamento de usuários Configurações durante a criação do site da comunidade ou management.
Escolha o contexto de configuração do site no qual você salvou suas configurações de login social.
Na guia Geral, defina as configurações da nuvem.
Na guia Configurações, ative Logons sociais e Salvar.
Adobe Granite OAuth Authentication Handler
não está ativado por predefinição e tem de estar 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:
Adobe Granite OAuth Authentication Handler
Tenha cuidado para não confundir o manipulador de autenticação com uma instância do Facebook ou Twitter de 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 do Facebook ou Twitter:
Faça logon com privilégios de administrador.
Navegue até Console Web.
Por exemplo, http://localhost:4503/system/console/configMgr.
Localize o Aplicativo e o Provedor OAuth Adobe Granite.
Exceto as seguintes propriedades, deixe as outras propriedades da configuração inalteradas:
ID de configuração
(IDs de configuração OAuth obrigatórios) devem ser exclusivos. Gerado automaticamente quando o serviço de nuvem é criado.
ID do cliente
(Obrigatório) O ID da aplicação fornecido quando o serviço de nuvem foi criado.
Client Secret
(Obrigatório) A senha da aplicação fornecida quando o serviço em nuvem foi criado.
Escopo
(Opcional) O escopo adicional para o que é permitido pode ser solicitado pelo 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 para 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. No AEM Communities, é recomendável lista do grupo de membros para o site da comunidade.
URL de retorno
(Optional) 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 originalmente solicitado. O sufixo "/callback/j_security_check" é anexado automaticamente a este url.
O domínio do 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:
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 seu login no Facebook ou no Twitter, o desempenho transversal do query executado quando um visitante do site usa seu login social pode ser melhorado com a adição do seguinte índice Oak.
Se forem vistos avisos transversais nos registros, é recomendável adicionar esse índice.
Em uma instância do autor, conectado com privilégios administrativos:
Da navegação global: selecione Ferramentas, CRX/DE Lite.
Crie um índice chamado ntBaseLucene-oauth a partir de uma cópia de ntBaseLucene:
/oak:index
Modifique as propriedades do nó ntBaseLucene-oauth:
Em node /oak:index/ntBaseLucene-oauth/indexRules/nt:base/properties:
Exclua todos os nós filhos, exceto cqTags.
Renomeie cqTags como oauthid-123xxxx
Modifique as propriedades do nó oauthid-123xxxx
Selecione Salvar tudo.
* Para o nameoauthid-123, substitua 123 pelo Keyser do Facebook App ID ou do Twitter Consumer (API) que é o valor do ClientIDno Aplicativo OAuth e na configuração doProviderme OaAdobe.
Para obter informações e ferramentas adicionais, consulte Oak Query and Indexing.
Consulte Configurando o Dispatcher para Comunidades.