Thanks for your answer. <br><br>It looks like IdP can put anything they want into the &quot;nameIdentifier&quot; like email, user name, or anything. Is it correct?<br><br>If so, then how could SP know what will be in the nameIdentifier? Or SP needs to get this information in some other way from IdP?<br>

<br><br clear="all">Yaowen<br>
<br><br><div class="gmail_quote">On Tue, Jul 31, 2012 at 12:05 PM, Kevin P. Foote <span dir="ltr">&lt;<a href="mailto:kpfoote@iup.edu" target="_blank">kpfoote@iup.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
You can encode different attributes (data) you have access to into nameIdentifiers and then<br>
send them out to the various RPs that require or request differing NameID data..<br>
<br>
<a href="https://wiki.shibboleth.net/confluence/display/SHIB2/NameIDAttributes" target="_blank">https://wiki.shibboleth.net/confluence/display/SHIB2/NameIDAttributes</a><br>
<br>
<a href="https://wiki.shibboleth.net/confluence/display/SHIB2/IdPCustomNameIdentifier" target="_blank">https://wiki.shibboleth.net/confluence/display/SHIB2/IdPCustomNameIdentifier</a><br>
<br>
<a href="https://wiki.shibboleth.net/confluence/display/SHIB2/IdPNameIdentifier" target="_blank">https://wiki.shibboleth.net/confluence/display/SHIB2/IdPNameIdentifier</a><br>
<br>
The IdPs default OOB config is to send the transientId as the NameID .. as<br>
you have found.<br>
<br>
------<br>
thanks<br>
  kevin.foote<br>
<br>
On Tue, 31 Jul 2012, Yaowen Tu wrote:<br>
<br>
-&gt; Hi,<br>
-&gt;<br>
-&gt; I have installed a sample Shib IdP, it is working in general. I am just<br>
-&gt; trying to explore a little more.<br>
-&gt;<br>
-&gt; &gt;From the IdP metadata, I see this:<br>
-&gt;         &lt;NameIDFormat&gt;urn:mace:shibboleth:1.0:nameIdentifier&lt;/NameIDFormat&gt;<br>
-&gt;<br>
-&gt;<br>
<div>-&gt; So I assume, if an SP send this AuthnRequest, I am supposed to get an<br>
</div>-&gt; nameIdentifier from Assertion:<br>
-&gt;<br>
-&gt; &lt;saml2p:AuthnRequest AssertionConsumerServiceURL=&quot;...&quot; Destination=&quot;<br>
-&gt; <a href="https://localhost/idp/profile/SAML2/Redirect/SSO" target="_blank">https://localhost/idp/profile/SAML2/Redirect/SSO</a>&quot; ID=&quot;<br>
-&gt; _a90ed2b44c1d25860c411e0ab27a9edd&quot;<br>
-&gt; IssueInstant=&quot;2012-07-31T18:21:28.759Z&quot;<br>
-&gt; ProtocolBinding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&quot; Version=&quot;<br>
-&gt; 2.0&quot; xmlns:saml2p=&quot;urn:oasis:names:tc:SAML:2.0:protocol&quot;&gt;<br>
-&gt;   &lt;saml2:Issuer xmlns:saml2=&quot;urn:oasis:names:tc:SAML:2.0:assertion&quot;&gt;<br>
-&gt;    .....<br>
-&gt;   &lt;/saml2:Issuer&gt;<br>
<div>-&gt;   &lt;saml2p:NameIDPolicy AllowCreate=&quot;true&quot; Format=&quot;<br>
</div>-&gt; urn:mace:shibboleth:1.0:nameIdentifier&quot;/&gt;<br>
-&gt; &lt;/saml2p:AuthnRequest&gt;<br>
-&gt;<br>
-&gt;<br>
<div>-&gt; In reality, from Idp-process.log, I see this information:<br>
</div>-&gt;<br>
-&gt;<br>
-&gt;<br>
-&gt; 11:22:01.373 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:465]<br>
-&gt; - Attempting to select name identifier attribute for relying party &#39;...&#39;<br>
-&gt; that requires format &#39;urn:mace:shibboleth:1.0:nameIdentifier&#39;<br>
-&gt; 11:22:01.374 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:548]<br>
-&gt; - Filtering out potential name identifier attributes which do not support<br>
-&gt; one of the following formats: [urn:mace:shibboleth:1.0:nameIdentifier]<br>
-&gt; 11:22:01.374 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:567]<br>
-&gt; - Retaining attribute transientId which may be encoded as a name identifier<br>
-&gt; of format urn:mace:shibboleth:1.0:nameIdentifier<br>
-&gt; 11:22:01.374 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:672]<br>
-&gt; - Selecting attribute to be encoded as a name identifier by encoder of type<br>
-&gt; edu.internet2.middleware.shibboleth.common.attribute.encoding.SAML2NameIDEncoder<br>
-&gt; 11:22:01.374 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:699]<br>
-&gt; - Selecting the first attribute that can be encoded in to a name identifier<br>
-&gt; 11:22:01.374 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.AbstractSAMLProfileHandler:483]<br>
-&gt; - Name identifier for relying party &#39;...&#39; will be built from attribute<br>
-&gt; &#39;transientId&#39;<br>
-&gt; 11:22:01.374 - DEBUG<br>
-&gt; [edu.internet2.middleware.shibboleth.idp.profile.saml2.AbstractSAML2ProfileHandler:864]<br>
-&gt; - Using attribute &#39;transientId&#39; supporting NameID format<br>
-&gt; &#39;urn:oasis:names:tc:SAML:2.0:nameid-format:transient&#39; to create the NameID<br>
-&gt; for relying party &#39;...&#39;<br>
-&gt;<br>
-&gt; And in the Assertion, it is actually transient NameID.<br>
-&gt;<br>
-&gt; Can you tell me why? Do I need to make any other configuration to be able<br>
-&gt; to get nameIdentifier?<br>
-&gt;<br>
-&gt;<br>
-&gt; Best,<br>
-&gt; Yaowen<br>
-&gt;<br>
--<br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net" target="_blank">users-unsubscribe@shibboleth.net</a><br>
</blockquote></div><br>