# Configurar integração com o ADFS (Active Directory Federation Services)

O agilityflow oferece suporte Single Sign-on (SSO) por meio do SAML 2.0. O ADFS é um serviço fornecido pela Microsoft como uma função padrão do Windows Server que fornece um login da Web usando as credenciais existentes do Active Directory.

Com essa configuração você pode utilizar os seus usuários do Active Directory para login no agilityflow, assim o usuário da rede será usado no single sign-on do agilityflow.

<p class="callout danger">**Recomendação importante:** Após finalizar a configuração do ADFS no agilityflow. Faça o teste em uma guia anônima do seu navegador antes de fazer o logout da sua sessão atual do agilityflow. Assim você conseguirá fazer as mudanças necessárias no agilityflow caso sua configuração não esteja correta. Caso você faça o logout, entre em contato conosco para auxiliarmos no passo a passo.</p>

### Pré-requisitos

1. Uma instância do Active Directory instalada no seu servidor. Você pode seguir as etapas fornecidas [neste artigo](https://docs.microsoft.com/pt-br/windows-server/identity/ad-ds/deploy/install-active-directory-domain-services--level-100-) para configurar e instalar o AD no seu servidor.
2. Uma instância do ADFS instalada no seu servidor. Você pode seguir as etapas fornecidas [neste artigo](https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/deployment-administrators-guide/gg188612(v=crm.8)) para configurar e instalar o ADFS no seu servidor
3. Garantir que todos os usuários do AD tenham o atributo de endereço de e-mail preenchido. O agilityflow utiliza o **e-mail** e o **login** do usuário como identificador para autenticação. Portanto, além do login, é necessário que o usuário tenha o endereço de e-mail preenchido no Active Directory.

Então, caso você receba do agilityflow a mensagem “**O usuário 'xxxx' não tem o e-mail cadastrado no AD.** ”, verifique se o endereço de e-mail está configurado para esse usuário no Active Directory, se não estiver, fale com o seu administrador de rede. Abaixo estão descritos os procedimentos para configuração do e-mail do usuário no AD.

Para preencher o e-mail do usuário no AD: acesse o seu Active Directory, no painel esquerdo clique em **Users**, agora no painel da direita, clique com o botão direito no usuário que deseja alterar o e-mail, clique em "**Properties**" e no campo "**E-mail**" inclua o e-mail do usuário. As imagens abaixo ilustram esse passo a passo:

Selecione o usuário:

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555530434826.png)

Altere o e-mail:

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555530449453.png)

Clique em OK e o e-mail estará incluído nesse usuário.

Esse procedimento será necessário para todos os usuários que não estão com e-mail configurado no AD.

### PASSO 1: Configurar o ADFS 

Neste ponto, você deve estar pronto para configurar a conexão do ADFS com sua conta do agilityflow. A conexão entre o ADFS e o agilityflow é definida usando um Relying Party Trust (RPT).

Abra o **AD FS Management**, no menu da esquerda, abra a guia **Trust Relationships**, clique com o botão direito em **Relying Party Trusts** e então clique em **Add Relying Party Trust**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555532776403.png)

1\. Isso inicia o assistente de configuração do Relying Party Trust. Clique em **Start**.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555532938594.png)

2\. No passo **Select Data Source**, selecione a última opção: **Enter Data About the Party Manually.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555533229030.png)

3\. No passo **Specify Display Name**, insira um nome para esse Relying Party Trust. Informe o nome **agilityflow**.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555533356038.png)

4\. No passo **Choose Profile**, mantenha a opção **ADFS FS profile**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555533571469.png)

  
5\. No passo **Configure Certificate**, mantenha as configurações da forma que estão e clique em **Next**.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555533596127.png)

6\. No passo **Configure URL**, marque a opção **Enable support for the SAML 2.0 WebSSO protocol** e em **Relying party SAML 2.0 SSO service URL** informe **https://&lt;SEU\_AMBIENTE&gt;.agilityflow.io/<span style="color: #993300;">adfs</span>/**

![](https://wiki.agilityflow.io/uploads/images/gallery/2024-12-Dec/scaled-840-0/image-1734571700173.png)

7\. No passo **Configure identifiers** informe **https://&lt;SEU\_AMBIENTE&gt;.agilityflow.io/adfs/** em **Relying party trust identifier** e clique em **Add**, na sequencia, clique em **Next.**

![](https://wiki.agilityflow.io/uploads/images/gallery/2024-12-Dec/scaled-840-0/image-1734571752211.png)

  
8\. No passo **Configure Multi-factor Authentication Now?**, mantenha as configurações da forma que estão e clique em **Next.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555535330501.png)

9\. No passo **Choose Issuance Authorization Rules**, mantenha a opção **Permit all users to access the relying party** marcada e clique em **Next.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555535472973.png)

10\. No passo **Ready to Add Trust,** mantenha as configurações da forma que estão e clique em **Next.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555535590744.png)

11\. No passo **Finish,** mantenha marcada a opção **Open the Edit Claim Rules dialog for this relying party trust when the wizard closes** e clique em **Close**;

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555535621223.png)

12\. Na nova janela que abrirá, clique em **Add rule**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555535839562.png)

13\. No passo **Choose Rule Type,** no campo **Claim rule Template** selecione a opção **Send LDAP Attributes as Claims** e clique em **Next.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555535939662.png)

14\. No passo **Configura Claim Rule** preencha da seguinte forma:

Em **Claim rule name** informe "**LDAP E-mail, Username".** Em **Attribute store** selecione **Active Directory.** Na tabela **Mapping of LDAP attributes to outgoing claim types** preencha da seguinte forma:

<table border="1" id="bkmrk-ldap-attribute-outgo" style="border-collapse: collapse; width: 55.679%;"><tbody><tr><td style="width: 24.641%;">**LDAP Attribute**</td><td style="width: 31.038%;">**Outgoing claim type**</td></tr><tr><td style="width: 24.641%;">SAM-Account-Name</td><td style="width: 31.038%;">Name ID</td></tr><tr><td style="width: 24.641%;">E-Mail-Addresses</td><td style="width: 31.038%;">E-Mail Address</td></tr></tbody></table>

Depois clique em **Finish e OK**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555536727733.png)

  
15\. Depois de confirmar e fechar o **Claim Rules dialog,** Vá até a lista de **Relying Party Trusts** e clique com o botão direito em **agilityflow** e selecione a opção **Properties.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555537614370.png)

16\. Na aba **Advanced**, selecione **SHA-256** no campo **Secure hash algorithm.**

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555537243337.png)

17\. Na aba **Endpoints**, clique em **Add SAML** para adicionar um novo endpoint

![](https://wiki.agilityflow.io/uploads/images/gallery/2024-12-Dec/scaled-840-0/image-1734571919420.png)

18\. Na nova janela que abrirá chamada **Add an** **Endpoints**, preencha os campos da seguinte forma:

- Em **Endpoint type** escolha **SAML Logout**
- Em **Binding** mantenha a opção **POST**
- Em **Trusted URL** informe a URL concatenando as seguintes informações  
     1. O endereço da web do seu servidor ADFS, exemplo: "**https://www.seudominio.com"**  
     2. O endpoint SAML configurado no ADFS. Por padrão (se você não alterou essa configuração) será: **"/adfs/ls"**  
     3. E por fim, concatene os parâmetros "**?wa=wsignout1.0**"

 A sua url final deverá ficar parecida com essa : **https://www.seudominio.com/adfs/ls?wa=wsignout1.0**

Após isto, clique em **OK**;

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555538989428.png)

19\. Isto conclui a configuração do ADFS, clique em Apply e depois em OK;

### PASSO 2: Configurar o Single Sign-on no agilityflow

<p class="callout danger">**Recomendação importante:** Após finalizar a configuração do ADFS no agilityflow. Faça o teste em uma guia anônima do seu navegador antes de fazer o logout da sua sessão atual do agilityflow. Assim você conseguirá fazer as mudanças necessárias no agilityflow caso sua configuração não esteja correta. Caso você faça o logout, entre em contato conosco para auxiliarmos no passo a passo.</p>

Acesse via browser a sua instância do agilityflow.

1. Vá para o menu Customizar agilityflow → Single Sign-On, AD e ADFS, será aberta a seguinte tela:![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555540620319.png)
2. Na aba "**Autenticação de usuário (Login) / Single Sign-On"** no campo **Tipo de Autenticação** selecione **"ADFS"**
3. No campo "**URL para realizar o login**" - Digite a URL do seu servidor ADFS que o agilityflow chamará quando os usuários tentarem fazer login. Essa URL geralmente termina em **IdpInitiatedSignOn.aspx**. Por exemplo, se o link de início for **https://www.seudominio.com/adfs/ls/**, a página de login será ****https://www.seudominio.com/adfs/ls/IdpInitiatedSignOn.aspx.****![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555601620553.png)
4. No campo "**Url para realizar o logoff**" insira a mesma URL que você inseriu no campo "**Trusted URL**", [descrito aqui nesse tópico ](http://wiki.agilityflow.io/link/83#bkmrk-em%E2%A0endpoint-type%E2%A0e)essa é a URL que o agilityflow chamará para o usuário fazer logout do ADFS. Essa URL geralmente termina em "**?wa=wsignout1.0**". Por exemplo, se o link de início for **https://www.seudominio.com/adfs/ls**, a página de logout será   
    ****[https://www.seudominio.com/adfs/ls?wa=wsignout1.0](https://www.seudominio.com/adfs/ls?wa=wsignout1.0)****![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555601745457.png)
5. Para o preenchimento do campo **Certificado (X. 509),** você precisará voltar ao seu servidor ADFS e seguir o seguintes passos: 
    1. Abra o seu Windows Server, abra **Administrative Tools** no menu Iniciar do Windows ou em **Control Panel** e abra o aplicativo **AD FS Management.**![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542631397.png)
    2. No menu da esquerda, abra a guia **Service** → **Certificates**![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542672859.png)
    3. No painel da direita, clique duas vezes no certificado Token-signing que você deseja usar.
        
        ![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542731675.png)
    4. Clique na aba **Details** e clique em **Copy to File**
        
        ![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542806518.png)
    5. Clique em **Next** no assistente de exportação e selecione a opção **Base-64 encoded** **X.509 (.CER)**
        
        ![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542839212.png)
    6. Salve o arquivo de certificado em seu sistema de arquivos local
    7. Abra o certificado que você acabou de salvar em um editor de texto.![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542285695.png)
    8. Apague do conteúdo do certificado as linhas inicias e linhas finais  
        Linha inicial para apagar **"-----BEGIN CERTIFICATE-----"**   
        Linha final para apagar **"-----END CERTIFICATE-----"**  
        Essas informações não podem constar no campo **Certificado (X. 509)** do agilityflow
    9. Depois de apagar as duas linhas citadas acima, copie o conteúdo desse certificado que deve ser algo como esse abaixo:![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555542984262.png)
    10. Agora volte na sua instância do agilityflow e cole o conteúdo desse certificado no campo de texto ****Certificado (X. 509).**** ![](http://wiki.agilityflow.io/uploads/images/gallery/2019-04-Apr/scaled-840-0/image-1555601657409.png)

Salve e pronto, as configurações foram finalizadas.

Se você enfrentar algum problema durante a configuração, entre em contato conosco.

<p class="callout danger">**Recomendação importante:** Após finalizar a configuração do ADFS no agilityflow. Faça o teste em uma guia anônima do seu navegador antes de fazer o logout da sua sessão atual do agilityflow. Assim você conseguirá fazer as mudanças necessárias no agilityflow caso sua configuração não esteja correta. Caso você faça o logout, entre em contato conosco para auxiliarmos no passo a passo.</p>