Breaking Change: Integração com AD
Realizamos uma alteração na forma de se integrar no AD (via LDAP), na versão 2.4.5 do S-Works. O código anterior, que utilizava bibliotecas nativas da Microsoft, não era portável, ou seja, não executava em ambiente Linux.
Passamos a utilizar uma nova biblioteca, e isso impactou a forma de configurar o arquivo "appsettings.json".
Exemplo de configuração anterior:
"LDAP_CONFIG":
"Servidor=domain.com.br;Usuario=user_ad_consult;Senha=*****;ContextOptions=Negotiate|SecureSoc ketLayer"
Exemplo de configuração nova (quebra de linha apenas para legibilidade):
"LDAP_CONFIG":
"Url=domain.com.br; Port=389; BindDn=CN=<Usuario>,OU=Users,OU=<Organization>,OU=Dom ain,DC=domain,DC=com,DC=br; BindDnPwd=********; BaseDn=DC=domain,DC=com,DC=br;
SearchFilter=(&(objectClass=user)(objectClass=person)(sAMAccountName={0}))"
Parâmetros:
Url: dns ou IP do domain controller
Port: 389 para LDAP ou 636 para LDAPS
No caso de LDAPS, adicionar o atributo "Ssl=true"
BindDn: valor da propriedade "distinguishedName" completa do usuário que fará autenticações (a biblioteca não consegue inferir esse valor, portanto o parâmetro ficou mais extenso)
Ssl: informar "true", caso a conexão exija SSL.
BindPwd: senha do usuário
BaseDn: escopo de busca de usuários
SearchFilter: query a ser utilizada na consulta de usuários. Podendo ser os valores:
Para Active Directory: (&(objectClass=user)(objectClass=person)(sAMAccountName={0}))
Para Okta: (&(objectClass=inetOrgPerson)(uid={0}))
Caso as alterações de configuração não sejam feitas após implantação dessa versão ou superior, a integração com AD para autenticação não funcionará.