<div dir="ltr"><div><div><div>Hi Bill, all, <br><br></div>In the case of a transient only nameid, would it be possible to create a dedicated attribute mapper in order to use for exemple the email attribute as name identifier ?<br><br></div>PS : the urn:mace:shibboleth:1.0:nameIdentifier is in fact use in SAML v1 for request a nameid that is transient also... so there is no solution in this way.<br><br></div>Best regards, Jérôme.<br></div><br><div class="gmail_quote"><div dir="ltr">Le mar. 5 janv. 2016 à 16:13, Bill Burke &lt;<a href="mailto:bburke@redhat.com">bburke@redhat.com</a>&gt; a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We won&#39;t be able to support temporary ids (transient) for awhile as it<br>
requires temporary user creation which requires some rearchitecting.<br>
<br>
As for &quot;urn:mace:shibboleth:1.0:nameIdentifier&quot; if you spec it out in a<br>
JIRA and it is simple enough to implement support for, we may be able to<br>
get it in.<br>
<br>
On 1/5/2016 8:18 AM, Jérôme Blanchard wrote:<br>
&gt; Hi Bill,<br>
&gt;<br>
&gt; Thanks for your answer regarding transient and temporary ids. I<br>
&gt; understand the problem due to keycloak account creation and binding to<br>
&gt; the IdP.<br>
&gt; Renarter is using Shibboleth ; Is there is any work on shibboleth<br>
&gt; integration for keycloak ?<br>
&gt; If I look into the idps entities descriptors of renater, I found that it<br>
&gt; uses also another nameid format based on shibboleth namesapce :<br>
&gt; &lt;md:NameIDFormat&gt;urn:mace:shibboleth:1.0:nameIdentifier&lt;/md:NameIDFormat&gt;<br>
&gt; &lt;md:NameIDFormat&gt;urn:oasis:names:tc:SAML:2.0:nameid-format:transient&lt;/md:NameIDFormat&gt;<br>
&gt;<br>
&gt; Do you think it is possible to patch the saml idp provider (or to create<br>
&gt; another one dedicated to shibboleth) in order to integrate keycloak to<br>
&gt; our identity federation (renater) ?<br>
&gt;<br>
&gt; Best whiches for this upcoming year and thanks for your great work<br>
&gt; around keycloak.<br>
&gt;<br>
&gt; Jérôme.<br>
&gt;<br>
&gt;<br>
&gt; Le mar. 22 déc. 2015 à 21:10, Bill Burke &lt;<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a><br>
&gt; &lt;mailto:<a href="mailto:bburke@redhat.com" target="_blank">bburke@redhat.com</a>&gt;&gt; a écrit :<br>
&gt;<br>
&gt;     Our brokering doesn&#39;t support temporary user ids from the &quot;parent&quot; IDP.<br>
&gt;        Transient Ids in SAML or temporary ids.<br>
&gt;<br>
&gt;     On 12/22/2015 11:46 AM, Jérôme Blanchard wrote:<br>
&gt;      &gt; Hi,<br>
&gt;      &gt;<br>
&gt;      &gt; I&#39;m trying to integrate keycloak into a the french research<br>
&gt;     federation<br>
&gt;      &gt; of identity (renater) and I&#39;m facing some problems.<br>
&gt;      &gt; Actually, when IdP respond to keycloak i&#39;m getting the following<br>
&gt;     error :<br>
&gt;      &gt; PL00084: Writer: Unsupported Attribute<br>
&gt;      &gt; Value:org.keycloak.dom.saml.v2.assertion.NameIDType<br>
&gt;      &gt;<br>
&gt;      &gt; It seems that this IdP is using transient NameID policy only and<br>
&gt;     using<br>
&gt;      &gt; the unspecified field in the idp config in keycloak generate this<br>
&gt;      &gt; exception as a return.<br>
&gt;      &gt;<br>
&gt;      &gt; Log of the keycloak server is joined.<br>
&gt;      &gt;<br>
&gt;      &gt; I have no idea of what happening because when I was using the test<br>
&gt;      &gt; federation, everything was working but no I&#39;m in the production<br>
&gt;      &gt; federation, login fails.<br>
&gt;      &gt;<br>
&gt;      &gt; The renater federation is using Shibolleth and keycloak is not<br>
&gt;     supported<br>
&gt;      &gt; by federation moderators so I&#39;m alone in the dark now...<br>
&gt;      &gt;<br>
&gt;      &gt; Renater provides an IdP list that I have to parse and<br>
&gt;     synchronized with<br>
&gt;      &gt; IdP in keycloak. As a return I provide a list of all endpoints<br>
&gt;     for each<br>
&gt;      &gt; keycloak registered IdP to allow federation IdP to answear<br>
&gt;     correctly to<br>
&gt;      &gt; the right endpoint. All of this is done by a small web app deployed<br>
&gt;      &gt; aside keycloak and using REST API to synchronize all the IdP.<br>
&gt;      &gt;<br>
&gt;      &gt; One of the IdP entity descriptor is joined. As you can see, only<br>
&gt;      &gt; transient nameid policy is supported and if I configure keycloak<br>
&gt;     to use<br>
&gt;      &gt; email or persistent, I received a response saying that the nameid<br>
&gt;     is not<br>
&gt;      &gt; supported :<br>
&gt;      &gt;<br>
&gt;      &gt; &lt;samlp:AuthnRequest<br>
&gt;     xmlns:samlp=&quot;urn:oasis:names:tc:SAML:2.0:protocol&quot;<br>
&gt;      &gt; xmlns=&quot;urn:oasis:names:tc:SAML:2.0:assertion&quot;<br>
&gt;      &gt;<br>
&gt;     AssertionConsumerServiceURL=&quot;<a href="https://demo-auth.ortolang.fr/auth/realms/ortolang/broker/2db5eab3f83cbaa5a322dcf3f9ac552d/endpoint" rel="noreferrer" target="_blank">https://demo-auth.ortolang.fr/auth/realms/ortolang/broker/2db5eab3f83cbaa5a322dcf3f9ac552d/endpoint</a>&quot;<br>
&gt;      &gt; Destination=&quot;<a href="https://janus.cnrs.fr/idp/profile/SAML2/POST/SSO" rel="noreferrer" target="_blank">https://janus.cnrs.fr/idp/profile/SAML2/POST/SSO</a>&quot;<br>
&gt;      &gt; ForceAuthn=&quot;false&quot; ID=&quot;ID_c53b5759-cb97-4e95-b540-877a7a6c625d&quot;<br>
&gt;      &gt; IsPassive=&quot;false&quot; IssueInstant=&quot;2015-12-22T16:13:15.987Z&quot;<br>
&gt;      &gt; ProtocolBinding=&quot;urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST&quot;<br>
&gt;      &gt; Version=&quot;2.0&quot;&gt;&lt;saml:Issuer<br>
&gt;      &gt;<br>
&gt;     xmlns:saml=&quot;urn:oasis:names:tc:SAML:2.0:assertion&quot;&gt;<a href="https://demo-auth.ortolang.fr/auth/realms/ortolang" rel="noreferrer" target="_blank">https://demo-auth.ortolang.fr/auth/realms/ortolang</a>&lt;/saml:Issuer&gt;&lt;samlp:NameIDPolicy<br>
&gt;      &gt; AllowCreate=&quot;true&quot;<br>
&gt;      &gt;<br>
&gt;     Format=&quot;urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&quot;/&gt;&lt;/samlp:AuthnRequest&gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt; &lt;saml2p:Response xmlns:saml2p=&quot;urn:oasis:names:tc:SAML:2.0:protocol&quot;<br>
&gt;      &gt;<br>
&gt;     Destination=&quot;<a href="https://demo-auth.ortolang.fr/auth/realms/ortolang/broker/2db5eab3f83cbaa5a322dcf3f9ac552d/endpoint" rel="noreferrer" target="_blank">https://demo-auth.ortolang.fr/auth/realms/ortolang/broker/2db5eab3f83cbaa5a322dcf3f9ac552d/endpoint</a>&quot;<br>
&gt;      &gt; ID=&quot;_9d03761957aade819b6823c35bbab278&quot;<br>
&gt;      &gt; InResponseTo=&quot;ID_c53b5759-cb97-4e95-b540-877a7a6c625d&quot;<br>
&gt;      &gt; IssueInstant=&quot;2015-12-22T16:13:16.420Z&quot; Version=&quot;2.0&quot;&gt;&lt;saml2:Issuer<br>
&gt;      &gt; xmlns:saml2=&quot;urn:oasis:names:tc:SAML:2.0:assertion&quot;<br>
&gt;      &gt;<br>
&gt;     Format=&quot;urn:oasis:names:tc:SAML:2.0:nameid-format:entity&quot;&gt;<a href="https://janus.cnrs.fr/idp" rel="noreferrer" target="_blank">https://janus.cnrs.fr/idp</a>&lt;/saml2:Issuer&gt;&lt;saml2p:Status&gt;&lt;saml2p:StatusCode<br>
&gt;      &gt;<br>
&gt;     Value=&quot;urn:oasis:names:tc:SAML:2.0:status:Responder&quot;&gt;&lt;saml2p:StatusCode<br>
&gt;      &gt;<br>
&gt;     Value=&quot;urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy&quot;/&gt;&lt;/saml2p:StatusCode&gt;&lt;saml2p:StatusMessage&gt;Required<br>
&gt;      &gt; NameID format not<br>
&gt;      &gt; supported&lt;/saml2p:StatusMessage&gt;&lt;/saml2p:Status&gt;&lt;/saml2p:Response&gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt; Any help would be gracefully appreciated.<br>
&gt;      &gt;<br>
&gt;      &gt; Thanks a lot, Jérôme.<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt;<br>
&gt;      &gt; _______________________________________________<br>
&gt;      &gt; keycloak-user mailing list<br>
&gt;      &gt; <a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a> &lt;mailto:<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&gt;<br>
&gt;      &gt; <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
&gt;      &gt;<br>
&gt;<br>
&gt;     --<br>
&gt;     Bill Burke<br>
&gt;     JBoss, a division of Red Hat<br>
&gt;     <a href="http://bill.burkecentral.com" rel="noreferrer" target="_blank">http://bill.burkecentral.com</a><br>
&gt;     _______________________________________________<br>
&gt;     keycloak-user mailing list<br>
&gt;     <a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a> &lt;mailto:<a href="mailto:keycloak-user@lists.jboss.org" target="_blank">keycloak-user@lists.jboss.org</a>&gt;<br>
&gt;     <a href="https://lists.jboss.org/mailman/listinfo/keycloak-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/keycloak-user</a><br>
&gt;<br>
<br>
--<br>
Bill Burke<br>
JBoss, a division of Red Hat<br>
<a href="http://bill.burkecentral.com" rel="noreferrer" target="_blank">http://bill.burkecentral.com</a><br>
</blockquote></div>