Neste documento , eles têm um aviso:
Azure AD currently supports the following NameID Format URI for SAML 2.0:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.
Isso é vago, mas suponho que significa que é tudo o que eles suportam.
Estou tentando integrar um aplicativo SaaS com um Active Directory autônomo (não federado com qualquer coisa) do Azure Active Directory para fins de SSO. O aplicativo SaaS (o Provedor de Serviços) é compatível com SAML2 (iniciado pelo SP), portanto, isso deve funcionar. No entanto, dentro do SAMLRequest, o SP especifica
<samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" />
E quando o AAD responde, o NameID é formatado com urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
.
É estranho: a documentação em MSDN , parágrafo "NameIDPolicy Element in AuthnRequest "lista 'não especificado' como um possível formato de solicitação ...
Como o aplicativo SaaS espera "não especificado" em vez de "persistente", ele falha.
Alguém saberia de um método para obter o formato "não especificado" em vez do Azure AD?
Neste documento , eles têm um aviso:
Azure AD currently supports the following NameID Format URI for SAML 2.0:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.
Isso é vago, mas suponho que significa que é tudo o que eles suportam.
Acabamos de fazer algumas investigações e descobrimos que, se você fizer alguma manipulação de string no NameID, o AAD alterará o formato para "não especificado".