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:

https://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:
https://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).

https://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 = "https://api.tolvdesk.com/v1/sso?email=agente@suaempresa.com.br";
httpsWebRequest request = (httpsWebRequest)WebRequest.Create(uri);
request.Headers.Add("Authorization", httpsUtility.UrlEncode("Bearer "+token));
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

using(httpsWebResponse response = (httpsWebResponse)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.
}
}