<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;
mso-ligatures:standardcontextual;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#467886;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">idp is not recognizing Azure AD claims. saml messages are decoded. It seems like azureClaims is not getting read.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">1. Added new attribute mapping file azureClaims.xml in attributes folder<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2. Added <import resource="azureClaims.xml" /> in default-rules.xml<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">3. attribute resolver has dataconnector and a attribute definition - SubjectDerivedAttribute for Canonicalization<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">4. The same attribute is added to attribute-sourced-subject-c14n-config
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Profile Action ValidateSAMLAuthentication: No transcoding rule for Attribute (Name 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name', NameFormat: 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified')<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Profile Action ValidateSAMLAuthentication: No transcoding rule for Attribute (Name 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress', NameFormat: 'urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified')<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Profile Action ValidateSAMLAuthentication: Incoming SAML Attributes mapped to attribute IDs: []<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Interestingly, I see Profile Action ValidateSAMLAuthentication: SAML authentication succeeded for 'xyz'.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Sample Attribute resolver:<o:p></o:p></span></p>
<p class="MsoNormal"> <AttributeDefinition xsi:type="SubjectDerivedAttribute" forCanonicalization="true" id="canonicaljoin" principalAttributeName="uid" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeDefinition xsi:type="SubjectDerivedAttribute" forCanonicalization="false" id="mail" principalAttributeName="azureEmailaddress" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeDefinition xsi:type="SubjectDerivedAttribute" id="eduPersonPrincipalName" principalAttributeName="azureName" /><o:p></o:p></p>
<p class="MsoNormal"> <DataConnector id="passthroughAttributes" xsi:type="Subject"<o:p></o:p></p>
<p class="MsoNormal"> exportAttributes="uid azureName azureEmailaddress azureTenantid azureObjectidentifier azureIdentityprovider azureAuthnmethodsreferences"><o:p></o:p></p>
<p class="MsoNormal"> </DataConnector><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sample attribte-filter.xml<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><AttributeFilterPolicy id="FilterPolicyObject-Proxy-FromAzure-byIssuer-Type"><o:p></o:p></p>
<p class="MsoNormal"> <PolicyRequirementRule xsi:type="Issuer" value=<a href="https://sts.windows.net/zzz/">https://sts.windows.net/zzz/</a> /><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureDisplayname" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureGivenname" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureSurname" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureAuthnmethodsreferences" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureIdentityprovider" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureTenantid" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureEmailaddress" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureObjectidentifier" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="azureName" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="uid" permitAny="true" /><o:p></o:p></p>
<p class="MsoNormal"></AttributeFilterPolicy><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <AttributeFilterPolicy id="SendAccountName"><o:p></o:p></p>
<p class="MsoNormal"> <PolicyRequirementRule xsi:type="OR"> <Rule xsi:type="Requester" value=<a href="https://sp.example.org">https://sp.example.org</a> /> <Rule xsi:type="Requester" value=<a href="https://sp1.example.org">https://sp1.example.org</a>
/> <o:p></o:p></p>
<p class="MsoNormal"> </PolicyRequirementRule><o:p></o:p></p>
<p class="MsoNormal"> <AttributeRule attributeID="uid"> <PermitValueRule xsi:type="ANY" /> </AttributeRule><o:p></o:p></p>
<p class="MsoNormal"> </AttributeFilterPolicy><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Sample azureclaims.xml<o:p></o:p></p>
<p class="MsoNormal"><bean parent="shibboleth.TranscodingProperties"><o:p></o:p></p>
<p class="MsoNormal"> <property name="properties"><o:p></o:p></p>
<p class="MsoNormal"> <props merge="true"><o:p></o:p></p>
<p class="MsoNormal"> <prop key="id">uid</prop><o:p></o:p></p>
<p class="MsoNormal"> <prop key="transcoder">SAML2StringTranscoder</prop><o:p></o:p></p>
<p class="MsoNormal"> <prop key="saml2.name"><a href="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/uid%3c/prop">http://schemas.xmlsoap.org/ws/2005/05/identity/claims/uid</prop</a>><o:p></o:p></p>
<p class="MsoNormal"> <prop key="saml2.nameFormat">urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified</prop><o:p></o:p></p>
<p class="MsoNormal"> <prop key="displayName.en">uid</prop><o:p></o:p></p>
<p class="MsoNormal"> <prop key="description.en">Azure UPN of an account expected to be scoped thus transcoded that way</prop><o:p></o:p></p>
<p class="MsoNormal"> </props><o:p></o:p></p>
<p class="MsoNormal"> </property><o:p></o:p></p>
<p class="MsoNormal"> </bean><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Saml message decoded:<o:p></o:p></p>
<p class="MsoNormal"><Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/uid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" > <AttributeValue>xyz</AttributeValue> </Attribute><o:p></o:p></p>
<p class="MsoNormal">What I am not sure if azure ad adds name id subject which is in format <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">xyz</NameID>. I am not sure this has anything to do with
<span style="font-size:11.0pt">canonicalization</span><o:p></o:p></p>
</div>
</body>
</html>