Já no arquivo /opt/shibboleth-idp/conf/saml-nameid.xml, dentro do item <util:list id="shibboleth.SAML2NameIDGenerators">, adicione a configuração abaixo:
Para criar os atribututos que serão usados (ImmutableID e UserId), altere o arquivo /opt/shibboleth-idp/conf/attribute-resolver.xml adicionando as linhas a seguir:
<!-- CAFe - ImmutableID para Microsoft --><AttributeDefinitionxsi:type="Simple"id="ImmutableID"> <InputDataConnectorref="dcLDAP"attributeNames="entryUUID"/></AttributeDefinition><!-- CAFe - UserId para Microsoft --><AttributeDefinitionscope="%{idp.scope}"xsi:type="Scoped"id="UserId"> <InputDataConnectorref="dcLDAP"attributeNames="uid"/> </AttributeDefinition>
Ainda no arquivo /opt/shibboleth-idp/conf/attribute-resolver.xml, adicione o atributo entryUUID à lista de atributos retornaveis do dataconnector dcLDAP. Exemplo:
<ReturnAttributes>%{idp.authn.LDAP.returnAttributes} mail cn givenName sn brPersonCPF schacDateOfBirth entryUUID</ReturnAttributes>
O uso dos atributos entryUUID e uid é apropriado para ambientes OpenLDAP. Caso esteja utilizando outro diretório deve-se substituí-los pelos atributos correspondentes. Ex.: AD - entryUUID > objectGUID e uid > sAMAccountName.
Crie o arquivo /opt/shibboleth-idp/conf/attributes/custom/ImmutableID.properties com o seguinte conteúdo:
Crie o arquivo /opt/shibboleth-idp/conf/attributes/custom/UserId.properties com o seguinte conteúdo:
# Microsoft Entra User IDid=UserIdtranscoder=SAML2ScopedStringTranscoderdisplayName.en=Microsoft Entra User IDdisplayName.pt-br=Microsoft Entra User IDdescription.en=Microsoft Entra User IDdescription.pt-br=Microsoft Entra User IDsaml2.name=urn:oid:0.9.2342.19200300.100.1.1saml1.encodeType=false
Para configurar o provedor de metadados, altere o arquivo /opt/shibboleth-idp/conf/metadata-providers.xml e adicione a configuração abaixo:
A seguir baixe o arquivo de metadados da Microsoft e armazene-o no local apropriado e remova a linha <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>.