<div dir="ltr"><div>Thank you.<br><br>>If you file a RFE, I'll look at exposing that machinery better so you can<br>
add your own serializers.<br><br></div>RFE Filed<br><br><a href="https://issues.shibboleth.net/jira/browse/IDP-740">https://issues.shibboleth.net/jira/browse/IDP-740</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 9, 2015 at 4:32 PM, Cantor, Scott <span dir="ltr"><<a href="mailto:cantor.2@osu.edu" target="_blank">cantor.2@osu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 6/9/15, 9:20 PM, "cneberg" <<a href="mailto:cneberg@gmail.com">cneberg@gmail.com</a>> wrote:<br>
<br>
<br>
>Summary:<br>
><br>
>I need a UserNamePrincipal object in the subject or I get<br>
>urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal back to the SP when I<br>
>try to use my plugin. Shib won't use my custom Principal for this.<br>
<br>
</span>No, you can, but you'd have to write a subject c14n flow to do the<br>
eventual mapping. It has to be able to produce a username in the end, and<br>
if it can't get it from a built-in type, then you have to program it to<br>
get it from somewhere else. There's no requirement in the design for<br>
UsernamePrincipal, it's just a <a href="http://convention.by" target="_blank">convention.by</a> cu<br>
<span class=""><br>
>But I can create a UserNamePrincipal based on the value of RemoteUser and<br>
>pass it into the subject, and then ADDITIONALLY add my custom Principal<br>
>which keeps track of the additional attributes.<br>
<br>
</span>Or that, yes.<br>
<span class=""><br>
>My external authentication class populates the subject like this.<br>
><br>
><br>
>//my custom principal with its custom attributes<br>
><br>
>ExtendedRemoteUserAuthPrincipal princ_attribs = new<br>
>ExtendedRemoteUserAuthPrincipal("custom_attrib=value1,custom_attrib2=value<br>
>2");<br>
<br>
</span>Well, that wouldn't really be how I'd do it, you really should just have<br>
your Principal subtype carry a map or whatever, or specific properties.<br>
Playing games with strings I suppose works, but it's certainly not<br>
necessary.<br>
<br>
Otherwise that's all correct.<br>
<span class=""><br>
>I'm not sure if need the custom serializer class now, now that I figured<br>
>out how to use the generic one.<br>
<br>
</span>Your choice. You wanted comments, so my comment is that I don't believe in<br>
hiding data inside strings, I'd just create my own Serializer class,<br>
they're not really that much work when the data is simple anyway.<br>
<span class=""><br>
>I could even minimize my own symbols - by creating an encoder/decoder as<br>
>functions of my own principal object.<br>
<br>
</span>Yes.<br>
<span class=""><br>
>Thanks everyone for your help!<br>
<br>
</span>Thank you for your persistence and for exercising the design. It's not<br>
very easy to tell when things work or not when it's mostly in one's head.<br>
<div class="HOEnZb"><div class="h5"><br>
-- Scott<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></div>