<div dir="ltr">Thank you both.  The decision to add encodings is one I&#39;ve forgotten the rationale for, but seemed wise at the time.  It definitely wasn&#39;t and obviously was based on a lack of information.  <div><br>
</div><div>We&#39;re so limited on resources dealing with Shib that convincing anyone to audit and strip those from our attributes now--and ensure all our SPs still work--seems like an a huge waste of resources.  But... with such a clear-cut error in judgement, I think I can make the case.</div>
<div><br></div><div>Again, thanks.</div><div><br></div><div>Chris</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 24, 2014 at 9:47 AM, Cantor, Scott <span dir="ltr">&lt;<a href="mailto:cantor.2@osu.edu" target="_blank">cantor.2@osu.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 6/24/14, 12:19 PM, &quot;Christopher Peters&quot; &lt;<a href="mailto:cjpeters@uci.edu">cjpeters@uci.edu</a>&gt; wrote:<br>

<br>
&gt;Last year, we made the somewhat unwise decision to add encodings to<br>
&gt;attributes to support both the URN:MACE and OID namespaces.  That is to<br>
&gt;say, for all our core attributes each AttributeDefinition has two<br>
&gt;encoders per protocol.  e.g.<br>
<br>
</div>There are no urn:mace names for attributes in SAML 2. Not one that I can<br>
think of offhand.<br>
<div class=""><br>
&gt;So far, we have been working around the issue--sometimes the SP drops<br>
&gt;dual-protocol support.  Sometimes, I release a special attribute with<br>
&gt;only one encoding.  I would like a more permanent solution, either in the<br>
&gt;form of good configuration directives, or just better standardization.<br>
<br>
</div>We did standardize it, you&#39;re not following the profile, that&#39;s all.<br>
<div class=""><br>
&gt;1)  Is it wrong to have two encoders on an attribute?<br>
<br>
</div>Not in all cases, but it&#39;s a bad thing to attach a non-existent name that<br>
is actually a name for an attribute in another SAML version. Those names<br>
simply don&#39;t exist for both SAML versions.<br>
<div class=""><br>
&gt;  It serves the purpose we had of matching the name no matter which<br>
&gt;scheme the SP chose.<br>
&gt;  And it didn&#39;t seem to me that URN:MACE or OID formats were specific to<br>
&gt;a particular protocol--they are just two different names for the same<br>
&gt;thing.<br>
<br>
</div>That is definitely untrue, so that&#39;s a misunderstanding.<br>
<div class=""><br>
&gt;  But it certainly hasn&#39;t worked out as cleanly as I was hoping it would.<br>
&gt; I think that&#39;s largely because the default examples is to use OID for<br>
&gt;SAML2 and URN for SAML1 and that has become the defacto standard.<br>
<br>
</div>Those aren&#39;t purely examples, they are defaults derived from the I2MI<br>
attribute profile for eduPerson that Shibboleth adopted. The SAML 2 names<br>
come from the SAML 2 standard, so are de jure, not de facto. The SAML 1<br>
names were assigned by MACE-Dir as part of the original pre-SAML2 profile,<br>
and since several of them were invented by MACE-Dir, it was up to MACE-Dir<br>
to assign the SAML names, so that again is de jure. The de facto cases<br>
were the legacy LDAP attributes that weren&#39;t defined by eduPerson. We took<br>
a wrong turn in naming them, and that&#39;s purely profile convention. But it<br>
is well-defined.<br>
<div class=""><br>
&gt;What would really make my life simpler is an improvement to the SP code<br>
&gt;that took the attributes and when it saw &quot;12345;12345&quot; just returned<br>
&gt;&quot;12345&quot;.  The classic array dupe reduction.  But I&#39;m not looking for an<br>
&gt;improvement to Shibboleth to solve my issue.<br>
<br>
</div>Suffice to say this is not so easy due to a variety of things the SP is<br>
doing with aliasing names, and would have to be done so late that it adds<br>
cycles to every HTTP request. I&#39;ve considered having an option to do so as<br>
a just in time step, but it would be off by default. Or the SP will<br>
eventually just not support aliasing, and that will make it more practical<br>
to do this.<br>
<div class=""><br>
&gt;In the end, if there&#39;s not a simple fix my larger scale resolution will<br>
&gt;be to split the encodings into two separate attributes on the IDP side<br>
&gt;and release the right ones at the right time, but that&#39;s confusing to<br>
&gt;maintain.<br>
<br>
</div>As Peter said, the defaults already have examples of all the right<br>
encodings. There&#39;s nothing to maintain. If you see a MACE name, it&#39;s SAML<br>
1, period. If you don&#39;t see one, or ar adding something new, use an OID if<br>
it&#39;s an LDAP attribute. That&#39;s pretty much it. The only use case for<br>
duplicate encodings is to support something that&#39;s not a standard, and<br>
usually that&#39;s better done with a second attribute definition and a<br>
dedicated encoding, and then just releasing that attribute.<br>
<span class="HOEnZb"><font color="#888888"><br>
-- Scott<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
--<br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net">users-unsubscribe@shibboleth.net</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">







<font face="arial black, sans-serif">Chris Peters</font><br>Middleware Services Developer<br>Office of Information Technology - NSP<br>(949) 824-6845<br><a href="mailto:cjpeters@uci.edu" target="_blank">cjpeters@uci.edu</a><br>
</div>
</div>