Integração com Active Directory ou LDAP

Com os recursos de SSO do Tolvdesk você pode utilizar um mecanismo de autenticação externa para que os agentes acessem o sistema de tickets. 

A dinâmica da integração é relativamente simples. A implementação deve ser feita por um profissional que tenha conhecimento de Windows Server e Active Directory. Além disso, será necessário conhecimento de programação com .Net (C# ou ASP.NET) para fazer a comunicação e validação de dados no AD.


Passo 1) Ativar a autenticação externa no Tolvdesk

Com a ativação da autenticação externa, o Tolvdesk passará a direcionar os usuários que acessam o login do Tolvdesk para uma URL que você irá definir, podendo ser um serviço web na sua rede, como por exemplo, https://www.suaempresa.com.br/extranet/login. Nesta página de autenticação você poderá fazer a autenticação do seu usuário da forma que achar mais interessante, sendo tanto no Active Directory quanto em qualquer outro serviço de autenticação que achar conveniente.  Explicamos o caminho no link abaixo:

http://helpdesk.tolv12.com/portal/artigos/tolvdesk/administrador/autenticacao-externa

Para autenticar um usuário no AD, colocamos abaixo um código de exemplo em C# com .NET Framework 3.5:


// cria o contexto e define seu domínio (pode ser o nome do servidor também)
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "YOURDOMAIN"))
{
    // valida as credenciais
    bool isValid = pc.ValidateCredentials("USUARIO", "SENHA");
}

Links de referência:
http://msdn.microsoft.com/en-us/magazine/cc135979.aspx
https://msdn.microsoft.com/en-us/library/system.directoryservices.accountmanagement.aspx



Passo 2) Ativar a autenticação SSO

Depois de autenticar o usuário em seu sistema, você utilizará o mecanismo de SSO para criar uma sessão do usuário no sistema Tolvdesk através da API de autenticação (que explicamos no link abaixo). 

http://helpdesk.tolv12.com/portal/artigos/tolvdesk/administrador/sso-sistema


Depois de autenticado no AD, você deverá fazer uma requisição na API do Tolvdesk (conforme a documentação que está no link acima) para criar a sessão do usuário, antes de direcioná-lo ao sistema. Para isso, colocamos abaixo um código C# de exemplo:

Para fazer o parsing do JSON utilizaremos a biblioteca JSON.NET (https://www.newtonsoft.com/json)


    string json = string.Empty;
    string token = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; // token privado criado no adminsitrador do Tolvdesk
    string uri = "http://api.tolvdesk.com/v1/sso?email=agente@suaempresa.com.br";
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
    request.Headers.Add("Authorization", HttpUtility.UrlEncode("Bearer "+token));
    request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

    using(HttpWebResponse response = (HttpWebResponse)request.GetResponse())
    using(Stream stream = response.GetResponseStream())
    using(StreamReader reader = new StreamReader(stream))
    {
        json = reader.ReadToEnd();
     dynamic obj = JsonConvert.DeserializeObject(json);
     if(obj.code == 200) {
         Response.Redirect(obj.url);
     } else {
         // informar ao usuário que ocorreu um erro de autenticação.
     }    
    }