Configurando o ONLYOFFICE SP e o Shibboleth IdP
Introdução
Single Sign-on (SSO) é uma tecnologia que permite aos usuários fazer login apenas uma vez e, em seguida, acessar múltiplas aplicações/serviços sem a necessidade de reautenticação.
Se um portal web inclui 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 obter automaticamente acesso a todos os outros serviços sem precisar inserir as 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 Shibboleth.
Se você deseja usar SSO ao conectar os ONLYOFFICE Desktop Editors ao seu ONLYOFFICE Workspace, desative as Salas Privadas no Painel de Controle.
Preparando o ONLYOFFICE Workspace para a configuração do SSO
- Instale o ONLYOFFICE Workspace v. 11.0.0 para Docker ou qualquer versão posterior com suporte a SSO.
- 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).
Criando o Shibboleth IdP
Requisitos
-
Para implantar o Shibboleth IDP, é necessário uma máquina host CentOS 7 limpa.
-
O horário deve estar corretamente ajustado e o serviço de sincronização de tempo deve estar instalado na máquina host para o IDP:
timedatectl statusyum install ntpsystemctl enable ntpd.servicentpdate time.apple.com -
O pacote
unzipdeve estar instalado na máquina:yum install unzip -
Docker e Docker Compose devem estar instalados na máquina.
-
Um nome de domínio deve estar associado à máquina (por exemplo,
your-idp-domain.com)
Criando o Shibboleth IdP
Para criar, configurar e iniciar o Shibboleth IDP, baixe e execute o script install.sh.
Veja o que o script faz:
- baixa arquivos docker para criar imagens e contêineres do Shibboleth Idp do github,
- altera o domínio padrão
idptestbed.edunos arquivos de configuração para o domínio especificado ao executar o script, - adiciona acesso via protocolo SAML para o domínio ONLYOFFICE SP especificado,
- especifica quais atributos são necessários para o ONLYOFFICE SP emitir informações sobre os usuários do Shibboleth IDP (a configuração de Mapeamento de Atributos),
- cria e configura o LDAP e cria usuários para emissão,
- habilita o carregamento dinâmico de metadados do ONLYOFFICE SP para o Shibboleth IDP,
- habilita o Shibboleth SLO, se necessário.
-
Baixe o script install.sh:
curl -L https://raw.githubusercontent.com/ONLYOFFICE/helpcenter-scripts/master/workspace/control-panel-sso-shibboleth/install.sh -o install.sh -
Torne o script executável:
chmod +x install.sh -
Execute o script substituindo os parâmetros pelos seus próprios:
./install.sh -id your-idp-domain.com -sd myportal-address.com --no_sloParâmetros do script:
- -id - um nome de domínio da máquina atual para o Shibboleth IDP.
- -sd - um nome de domínio onde o ONLYOFFICE SP está implantado.
- --no_slo - desativa o Single Logout no Shibboleth IDP (parâmetro opcional).
-
Aguarde o início do Shibboleth IDP após a execução do script.
-
Para verificar se o Shibboleth IDP iniciou corretamente, abra o link
https://your-idp-domain.com/idp/shibbolethno seu navegador. Um arquivo XML deve ser exibido. -
Copie o link
https://{your_idp_domain}/idp/shibboleth(por exemplo,https://your-idp-domain.com/idp/shibboleth) e vá para o portal ONLYOFFICE fazendo login como administrador. Abra a página Painel de Controle > SSO.
Configurando o ONLYOFFICE SP
-
Certifique-se de que você está logado como Administrador no seu Painel de Controle do ONLYOFFICE e clique na guia 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 de Single Sign-on e cole o link para o Shibboleth IdP no campo URL para o XML de Metadados do IdP.
-
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 Shibboleth IdP.
Como desativamos o SLO ao executar o script install.sh especificando o parâmetro
--no_slo, o campo URL do Endpoint de Logout Único do IdP ficará vazio. -
Assim que os metadados do IdP forem carregados, dois certificados serão adicionados na seção Certificados Públicos do IdP. Você também verá a janela pop-up com o seguinte texto: 'Vários certificados de verificação do IdP não são suportados. Por favor, deixe apenas o certificado Primário'.
Você precisa excluir o segundo certificado na lista e deixar apenas o primeiro certificado, que é o certificado primário. Use o link Excluir ao lado do segundo certificado para removê-lo. Se você não remover o certificado, não poderá salvar as configurações.
-
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 de Single Sign-on na página de autenticação do ONLYOFFICE.
-
Agora você precisa criar certificados autoassinados ou adicionar quaisquer outros certificados na seção Certificados SP.
Importante!Na lista Usar para, escolha a opção assinar e criptografar já que seu Shibboleth IdP está automaticamente configurado com o script install.sh para verificar se os dados são assinados digitalmente e criptografados.

Você deve obter um resultado quase igual:

-
Na seção Mapeamento de Atributos, defina a correspondência dos campos no módulo Pessoas do ONLYOFFICE para os atributos de usuário que serão retornados do Shibboleth IdP.
Campo Atributo Primeiro Nome urn:oid:2.5.4.42Sobrenome urn:oid:2.5.4.4Email urn:oid:0.9.2342.19200300.100.1.3Localização urn:oid:2.5.4.7Título urn:oid:2.5.4.12Telefone urn:oid:0.9.2342.19200300.100.1.41
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 você precisar restaurar a página de autenticação padrão (para poder acessar o portal se o servidor IDP falhar), você pode adicionar a chave
/Auth.aspx?skipssoredirect=trueapós o nome de domínio do seu portal na barra de endereços do navegador. -
Clique no botão Salvar.
-
A seção Metadados do ONLYOFFICE SP 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.

Este arquivo xml é geralmente usado para configurar o Shibboleth IDP, mas como o script install.sh habilita
DynamicHTTPMetadataProvider, não precisamos fazer isso (o Shibboleth IDP baixará este arquivo xml na primeira solicitação de login).
Verificando o funcionamento do ONLYOFFICE SP com o Shibboleth IdP
O script install.sh criou 4 usuários que podem ser usados para testar o funcionamento do ONLYOFFICE SP com o Shibboleth IdP.
| Nome de Usuário | Senha | Comentário | |
|---|---|---|---|
student1@{your_idp_domain} | student1 | password | Padrão |
student2@{your_idp_domain} | student2 | password | Sem givenName |
student3@{your_idp_domain} | student3 | password | Com umlauts |
staff1@{your_idp_domain} | staff1 | password | Apenas campos obrigatórios |
Fazendo login no ONLYOFFICE no lado SP
-
Acesse a página de autenticação do ONLYOFFICE (por exemplo,
https://myportal-address.com/Auth.aspx). -
Clique no botão Single sign-on (a legenda pode diferir 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 Shibboleth IdP:
-
Digite o nome de usuário e a senha da conta do Shibboleth IdP (nome de usuário:
student1, senha:password) e marque a caixa Não lembrar login. -
Se as credenciais estiverem corretas, uma nova janela será aberta. Permita o fornecimento de informações ao serviço clicando no botão Aceitar.

-
Se tudo estiver correto, 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 desabilitados para edição (ou seja, Primeiro 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:

Para sair do Shibboleth IdP (se você não marcou a caixa Não lembrar login ao fazer login), acesse o link que se parece com este: https://{shibboleth-idp-domain}/idp/profile/Logout