---
title: CITSmart auto-login - SSO
slug: admin/citsmart-auto-login-sso
description: Learn how to create a user in Active Directory, configure the Wildfly server for Single Sign-On (SSO) with SPNEGO 1.0, and import LDAP users into ITSM with this comprehensive guide. Step-by-step instructions, including configuring the server through CMD a
docTags: 
createdAt: 2021-10-26T19:21:31.000Z
---

:::BlockQuote
**Branchs**:
   Sso (itsm)
   Spnego 1.0 (artifactory)
:::

## Criar usuário AD

- Acessar criar usuário em Usuários e Computadores do Active Directory:

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/PV1u4m_0mNnQmmgxaQp-W_sso-1.jpg" size="62" width="574" height="684" position="center" showCaption="false"}

- Criar uma senha:

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/u9pWP51ChakMzvWsLXrSZ_sso-2.jpg" size="70" width="397" height="306" position="center" showCaption="false"}

- Clicar no lado direito do mouse, no botão usuário/propriedades:

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/zulmdP9PjIGrGBy7joOd-_sso-3.jpg" size="62" width="472" height="488" position="center" showCaption="false"}

- Selecionar a opção "Esta conta oferece suporte para criptografia de 256 bits", aplicar e marcar "OK":

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/tpq3QruFtLIekZyrvN6gE_sso-4.jpg" size="70" width="408" height="459" position="center" showCaption="false"}

- Abrir o ADSI Editar. Logo após, conectar no AD, clicar em usuários e localizar o usuário recém criado:

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/S38udF5L12KSFyKEQXpZz_sso-5.jpg)

- Clicar no botão direito do mouse e selecionar a opção Propriedades. Logo após, procurar o **servicePrincipalName** (sigla de SPN);
- Adicionar HTTP/hom-itsm.centralit.com.br, clicar em "OK" para efetuar a operação:

![](https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/o6QQC6hFzVbb8vuKqc_FX_sso-6.jpg)

- Abrir o **CMD** como Administrador e colocar os seguintes comandos. Lembrar que o primeiro seta o **SPN** e o segundo gera o Keytab (o que será utilizado no Wildfly):

:::BlockQuote
setspn -s HTTP/hom-itsm.centralit.com.br citsmart2

ktpass / princ HTTP/hom-itsm.centralit.com.br /mapuser citsmart2  /pass central\@123 /ptype KRB5\_NT\_Principal/outcitsmart2.keytab /crypto ALL
:::

- Realizado os passos acima, o **AD** estará configurado. 

## Configurar o servidor Wildfly

1. Copiar o **war** gerado da branch **sso**;
2. Copiar o arquivo krb5.conf (validar as informações de acordo com o AD) para
   a pasta standalone/configuration (wildfly):

```shell
[libdefaults]
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 rc4-hmac
[realms]
```

```shell
[domain_realm]
.citsmartsrv.citsmartsrv.bigdata-team.com = citsmartsrv.citsmartsrv.bigdata-team.com
```

```shell
[domain_realm]
.citsmartsrv.citsmartsrv.bigdata-team.com = citsmartsrv.citsmartsrv.bigdata-team.com
```

1. Copiar o arquivo login.conf (validar as informações de acordo com o AD) para a pasta standalone/configuration (wildfly):

```shell
custom-client {
com.sun.security.auth.module.Krb5LoginModule required
storeKey=true
useKeyTab=true
keyTab="file:///opt/wildfly-12.0.0.Final/standalone/configuration/lightkeytab.keytab"
principal=HTTP/light-desenvolvimento.citsmartcloud.com\@CITSMARTSRV.BIGDATA-TEAM.COM;
};
```

1. Copiar o arquivo lightkeytab.keytab (gerado pelo comando no AD) para a pasta standalone/configuration (wildfly)
2. Arrumar o standalone.xlm ao adicionar as seguintes informações:

- Em **\\\<system-properties>**

```java
\<property name="sun.security.krb5.debug" value="true"/\>
\<property name="java.security.krb5.kdc" value="CITSMARTSRV.BIGDATA-TEAM.COM"/\>
\<property name="java.security.krb5.realm"value="CITSMARTSRV.BIGDATA-TEAM.COM"/\>
\<property name="java.security.krb5.conf"value="/opt/wildfly-12.0.0.Final/standalone/configuration/krb5.conf"/\>
\<property name="java.security.auth.login.config"value="/opt/wildfly-12.0.0.Final/standalone/configuration/login.conf"/\>
\<property name="krb.keyTab"value="/opt/wildfly-12.0.0.Final/standalone/configuration/lightkeytab.keytab"/\>
\<property name="krb.principal"value="HTTP/light-desenvolvimento.citsmartcloud.com\@CITSMARTSRV.BIGDATA-TEAM.COM"/\>
```

- Em **\\\<security-domains**>

```java
\<security-domain name="spnego-server"\>
\<authentication\>
\<login-module code="com.sun.security.auth.module.Krb5LoginModule"flag="required"\>
\<module-option name="storeKey" value="true"/\>
\<module-option name="useKeyTab" value="true"/\>
\<module-option name="keyTab" value="\${krb.keyTab}"/\>
\<module-option name="principal" value="\${krb.principal}"/\>
\<module-option name="isInitiator" value="false"/\>
\</login-module\>
\</authentication\>
\</security-domain\>
\<security-domain name="SPNEGO" cache-type="default"\>
\<authentication\>
\<login-module code="Kerberos" flag="required"\>
\<module-option name="storeKey" value="true"/\>
\<module-option name="refreshKrb5Config" value="true"/\>
\<module-option name="useKeyTab" value="true"/\>
\<module-option name="doNotPrompt" value="true"/\>
\</login-module\>
\</authentication\>
\</security-domain\>
```

1. Caso não tenha alterado o jar do policy do JAVA (JCE - Java Cryptography Extension), baixar os arquivos e colocar em
   jdk/jre/lib/security/policy/limited e jdk/jre/lib/security/policy/unlimited;
2. Importar (sincronizar) usuários do LDAP no ITSM.

:::hint{type="warning"}
**Atenção**

O DN Alias deve ser igual ao domínio da rede (exemplo: CIT\\\usuario), logo o DN Alias = CIT, conforme a figura abaixo:
:::

::Image[]{src="https://api.archbee.com/api/optimize/pu5VMc-2TW3GQX4ly5Xp7/HlKeM_pSfQfu_PKh-bzyi_image.png" size="96" width="758" height="577" caption="Figura 7 - Definir o DN" position="center" showCaption="true"}

:::hint{type="success"}
**Dica:&#x20;**&#xC9; recomendável a leitura dos seguintes materiais de apoio: [https://ss64.com/nt/setspn.html](https://ss64.com/nt/setspn.html) e [http://spnego.sourceforge.net/](http://spnego.sourceforge.net/)
:::

