Eu tenho um provedor de declarações do AD FS configurado e um Shibboleth SP autenticado com êxito nele.
Estou tentando enviar os atributos do Active Directory para o SP.
Segui este artigo para tentar enviar as reivindicações: https://technet.microsoft.com/en-us/library/gg317734(v=ws.10).aspx
A seção relevante é Step 2: Configure AD FS 2.0 as the Identity Provider and Shibboleth as the Relying Party
--> Configure AD FS 2.0
--> Edit Claim Rules for Relying Party Trust
--> To configure eduPerson claims for sending to a relying party trust
:
Na Etapa 16, ele afirma que devo colar ou digitar o seguinte (e está em 2 blocos de código):
c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value == "Domain Users"]
e
=> issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.9", Value = "[email protected]", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
Acredito que era para ser uma única afirmação (corrija-me se estiver errado), então minha entrada é a seguinte:
Estou testando com o GivenName, então adicionei o seguinte:
Na máquina Shibboleth SP, editei attribute-map.xml
adicionando o seguinte e reiniciei o serviço Shibboleth:
<Attribute name="urn:mace:dir:attribute-def:GivenName" id="GivenName"/>
Quando naveguei até o site e fui autenticado novamente com o AD FS, não estou vendo o nome dado sendo exibido. Eu tenho um arquivo de índice que exibe todos os cabeçalhos e seus valores.
Editar: Solução para o meu problema
Consegui que o UPN fosse enviado como epPN. As regras acima (as regras do artigo) funcionaram, mas tive que editar no attribute-policy.xml
Shibboleth SP para desabilitar as regras de escopo, já que não tinha essa parte configurada corretamente.
Comentei as seguintes linhas noattribute-policy.xml
afp:AttributeRule attributeID="eppn">
<afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>
Responder1
Sim, a regra de reivindicações (exibida em duas linhas) é uma 'declaração'. Termina com o ';'. Ou seja, você adiciona ambas as linhas à mesma regra personalizada.
Para cada reivindicação (atributo) emitida (enviada) com um identificador de objeto uri, você precisa adicionar uma regra personalizada (abaixo da regra de pesquisa do AD). Isto é, se você quiser o "urn:oasis:names:tc:SAML:2.0:attrname-format:uri". Se você deseja apenas o oid uri, definir o clam em "Descrições da reivindicação" é suficiente.
Normalmente eu uso uma ligeira variação do programa. Eu escrevo a regra de pesquisa com a interface do usuário, mas depois copio a regra (de "Exibir idioma da regra") para uma regra personalizada. Na regra personalizada copiada, mudo "problema" para "adicionar". E então excluo a regra de pesquisa original. Isso evita o envio de declarações de URL e URN para Shib.