Configurando o ONLYOFFICE SP e o AD FS IdP
Introdução
Single Sign-on (SSO) é uma tecnologia que permite aos usuários fazer login apenas uma vez e, em seguida, acessar vários aplicativos/serviços sem a necessidade de nova autenticação.
Se um portal web incluir várias seções independentes grandes (fórum, chat, blogs, etc.), um usuário pode passar pelo procedimento de autenticação em um dos serviços e automaticamente obter acesso a todos os outros serviços sem precisar inserir credenciais várias vezes.
O SSO é sempre garantido pela operação conjunta de duas aplicações: um Provedor de Identidade e um Provedor de Serviço (doravante referidos como "IdP" e "SP"). ONLYOFFICE SSO implementa apenas o SP. Muitos provedores diferentes podem atuar como IdP, mas este artigo considera a implementação do Active Directory Federation Services (AD FS).
Se você deseja usar SSO ao conectar ONLYOFFICE Desktop Editors ao seu ONLYOFFICE Workspace, desative Salas Privadas no Painel de Controle.
Requisitos do sistema
Os requisitos do sistema incluem o seguinte software que foi testado e comprovado como funcionando corretamente com ONLYOFFICE SSO:
- Windows Server 2008 R2, Windows Server 2016;
- AD FS versão 3.0 ou posterior.
Preparando o ONLYOFFICE Workspace para a configuração do SSO
- Instale o ONLYOFFICE Workspace para Docker ou qualquer versão posterior com suporte a SSO (AD FS é suportado a partir do Community Server v9.5).
- Adicione um nome de domínio, por exemplo,
myportal-address.com. - No seu portal, vá para o Painel de Controle > HTTPS, crie e aplique o certificado letsencrypt para a criptografia de tráfego (para habilitar HTTPS no seu portal).
Preparando o AD FS para a configuração do SSO
-
Instale a versão mais recente do AD DS (Active Directory Domain Service) com todas as atualizações e patches oficiais.
-
Instale a versão mais recente do AD FS com todas as atualizações e patches oficiais.
Para implantar o AD FS do zero, você pode usar as seguintes instruções.
-
Verifique se o link para os metadados do AD FS está publicamente disponível. Para fazer isso,
-
No Gerenciador do Servidor, abra Ferramentas > Gerenciamento do AD FS,
-
Vá para AD FS \ Serviço \ Pontos de Extremidade,
-
Encontre a linha com o tipo Metadados da Federação na tabela. O link para os metadados do IdP é construído sob o seguinte esquema:
https://{ad-fs-domain}/{path-to-FederationMetadata.xml}
Alternativamente, você pode usar o seguinte comando PowerShell:
PS C:\Users\Administrator> (Get-ADFSEndpoint | Where {$_.Protocol -eq "FederationMetadata" -or $_.Protocol -eq "Federation Metadata"}).FullUrl.ToString()Como resultado, você deve obter um link que se pareça com este:
https://onlyofficevm.northeurope.cloudapp.azure.com/FederationMetadata/2007-06/FederationMetadata.xml -
Para verificar se o AD FS foi iniciado corretamente, abra o link recebido em um navegador web. O xml deve ser exibido ou baixado. Copie o link para o xml de metadados: ele será necessário na próxima etapa.
-
Configurando o ONLYOFFICE SP
-
Certifique-se de que você está logado como Administrador no seu Painel de Controle do ONLYOFFICE e clique na aba SSO na seção CONFIGURAÇÕES DO PORTAL na barra lateral esquerda.
observaçãoVocê pode registrar apenas um Provedor de Identidade empresarial para sua organização no portal ONLYOFFICE.

-
Habilite o SSO usando o interruptor Habilitar Autenticação Single Sign-on e cole o link copiado do AD FS no campo URL para Idp Metadata XML.

Pressione o botão com a seta para cima para carregar os metadados do IdP. O formulário Configurações do ONLYOFFICE SP será automaticamente preenchido com seus dados do AD FS IdP.
-
No campo Legenda do botão de login personalizado, você pode inserir qualquer texto em vez do padrão (Single Sign-on). Este texto será exibido no botão usado para fazer login no portal com o serviço Single Sign-on na página de autenticação do ONLYOFFICE.
-
No seletor Formato NameID, escolha o seguinte valor: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress.
-
Na seção Certificados Públicos do IdP \ Configurações avançadas, desmarque a opção Verificar Assinatura de Resposta de Logout, pois o AD FS não requer isso por padrão.

-
Agora você precisa adicionar certificados à seção Certificados SP. Você pode gerar certificados autoassinados ou adicionar quaisquer outros certificados.
observaçãoNa janela Novo Certificado, altere o seletor Usar para para a opção assinatura e criptografia, pois o AD FS IdP é configurado automaticamente para verificar assinaturas digitais e criptografar dados.

Você deve obter quase o mesmo resultado:

-
Em Certificados SP \ Configurações avançadas, desmarque a opção Assinar respostas de logout, pois o AD FS não exige isso por padrão.
observaçãoNão é necessário ajustar o formulário de Mapeamento de Atributos, pois configuraremos esses parâmetros no AD FS IdP posteriormente. Na seção Configurações Avançadas, você pode marcar a opção Ocultar página de autenticação para ocultar a página de autenticação padrão e redirecionar automaticamente para o serviço SSO.
ImportanteSe precisar restaurar a página de autenticação padrão (para poder acessar o portal caso o servidor IDP falhe), você pode adicionar a chave
/Auth.aspx?skipssoredirect=trueapós o nome de domínio do seu portal na barra de endereço do navegador. -
Clique no botão Salvar. A seção Metadados SP do ONLYOFFICE deve ser aberta.

Verifique se nossas configurações estão publicamente disponíveis clicando no botão Baixar XML de Metadados SP. O conteúdo do arquivo XML deve ser exibido.
-
Copie o link para os metadados SP do ONLYOFFICE do campo ID da Entidade SP (link para XML de metadados) e vá para a máquina onde o AD FS está instalado.

Configurando AD FS IdP
-
Ative a autenticação forte para aplicativos .NET.
Os aplicativos do .NET Framework 3.5/4.0/4.5.x podem alternar o protocolo padrão para TLS 1.2 ativando a chave de registro
SchUseStrongCrypto. Esta chave de registro forçará os aplicativos .NET a usar TLS 1.2.observaçãoPara AD FS no Windows Server 2016 e Windows Server 2012 R2, você precisa usar a chave do .NET Framework 4.0/4.5.x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.NETFramework\v4.0.30319
Para o .NET Framework 3.5, use a seguinte chave de registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001Para o .NET Framework 4.0/4.5.x, use a seguinte chave de registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 "SchUseStrongCrypto"=dword:00000001
Alternativamente, você pode usar o seguinte comando PowerShell:
New-ItemProperty -path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -name 'SchUseStrongCrypto' -value '1' -PropertyType 'DWord' -Force | Out-NullPara mais detalhes, consulte este artigo.
-
No Gerenciador do Servidor, abra Ferramentas > Gerenciamento do AD FS,

-
No painel Gerenciamento do AD FS, selecione Relações de Confiança > Confianças de Terceiros Confiáveis. Clique na opção Adicionar Confiança de Terceiro Confiável... à direita. O Assistente de Adição de Confiança de Terceiro Confiável será aberto,

-
Na janela do assistente, selecione o botão de rádio Importar dados sobre o terceiro confiável publicados online ou em uma rede local, cole o link previamente copiado para os metadados SP do ONLYOFFICE no campo Endereço de metadados de federação (nome do host ou URL) e clique no botão Avançar,

-
No campo Nome de exibição, especifique qualquer nome e clique no botão Avançar,

-
Selecione a opção Não quero configurar as configurações de autenticação multifator para esta confiança de terceiro confiável neste momento e clique no botão Avançar,

-
Selecione a opção Permitir que todos os usuários acessem esta terceira parte confiável e clique no botão Avançar,

-
Verifique as configurações resultantes e clique no botão Avançar,

-
Mantenha a opção padrão inalterada e clique no botão Fechar,

-
Uma nova janela será aberta. Na guia Regras de Transformação de Emissão, clique no botão Adicionar Regra...,

-
Selecione a opção Enviar Atributos LDAP como Declarações da lista Modelo de regra de declaração e clique no botão Avançar,

-
Digite qualquer nome no campo Nome da regra de declaração. Selecione a opção Active Directory da lista Armazenamento de atributos e preencha o formulário Mapeamento de atributos LDAP para tipos de declaração de saída de acordo com a tabela abaixo. Quando estiver pronto, clique em Concluir.
Atributo LDAP (Selecione ou digite para adicionar mais) Tipo de Declaração de Saída (Selecione ou digite para adicionar mais) Given-Name givenName Surname sn E-Mail-Addresses mail Telephone-Number mobile Title title physicalDeliveryOfficeName l 
-
Na janela Editar Regras de Declaração, clique novamente no botão Adicionar Regra..., selecione a opção Transformar uma Declaração de Entrada da lista Modelo de regra de declaração e clique no botão Avançar,

-
Digite qualquer nome no campo Nome da regra de declaração e selecione as seguintes opções nas listas:
- Tipo de declaração de entrada: mail,
- Tipo de declaração de saída: Name ID,
- Formato de nome de saída: Email

Quando estiver pronto, clique no botão Concluir.
Você deve obter um resultado quase igual:

Se o logout do AD FS não funcionar, é recomendado adicionar uma Regra de Declaração Personalizada substituindo
{portal-domain}pelo seu domínio SP e alterando{ad-fs-domain}para o seu domínio IdP:c:[Type == "mail"]=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "http://{ad-fs-domain}/adfs/services/trust", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "https://{portal-domain}/sso/metadata");
-
Clique no botão OK.
-
Para que o SSO funcione a partir da intranet, é necessário habilitar a opção Autenticação de Formulários na Editar Política de Autenticação Global (menu contextual AD FS / Políticas de Autenticação),

-
Abra as propriedades da relação de confiança criada e vá para a aba Avançado,

Selecione a opção SHA-1 na lista Algoritmo de hash seguro.

Verificando o funcionamento do ONLYOFFICE SP com o AD FS IdP
Fazendo login no ONLYOFFICE pelo lado do SP
-
Acesse a página de Autenticação do ONLYOFFICE (por exemplo,
https://myportal-address.com/auth.aspx). -
Clique no botão Login único (a legenda pode variar se você especificou seu próprio texto ao configurar o ONLYOFFICE SP). Se o botão estiver ausente, isso significa que o SSO não está habilitado.

-
Se todos os parâmetros do SP e IdP estiverem configurados corretamente, você será redirecionado para o formulário de login do AD FS IdP:

-
Insira o login e a senha da conta do AD FS IdP e clique no botão Entrar.
-
Se as credenciais estiverem corretas, você será redirecionado para a página principal do portal. O usuário será criado automaticamente se estiver ausente, ou os dados serão atualizados se alterados no IdP.
Perfis para usuários adicionados com autenticação SSO
A possibilidade de editar perfis de usuários criados usando a autenticação SSO é restrita. Os campos de perfil de usuário recebidos do IdP estão desativados para edição (ou seja, Nome, Sobrenome, Email, Título e Localização). Você pode editar esses campos apenas a partir da sua conta IdP.
A figura abaixo mostra o menu Ações para um usuário SSO:

A figura a seguir mostra um perfil de usuário SSO aberto para edição:

Os usuários criados usando a autenticação SSO são marcados com o ícone SSO na lista de usuários para os administradores do portal:
