<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">Hi,<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">I want to load a configuration map on the shibboleth OIDC proxy that specifies which downstream client uses which upstream OIDC OP. Then from the requester’s client_id a nashorn script returns the OP issuer
string from the map. I have no problem doing this for SAML where downstream client entityIDs are mapped to upstream SAML idp entityIDs. I have this in the global.xml for SAML. But when I do the similar for OIDC using shibboleth.authn.oidc.rp.discoveryFunction,
it complains it can’t see the map. I tried moving this part to client-rp-config.xml, it gives the same error.<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">The simple map is like this:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><util:map id=”rpOpMap:><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> <entry key=”oidc_client_id1” value=”<a href="https://upstream-op-issuer">https://upstream-op-issuer</a>1”/><o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:.5in"><span style="font-size:11.0pt"><entry key=”oidc_client_id2” value=”<a href="https://upstream-op-issuer">https://upstream-op-issuer</a>2”/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"></util:map><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">The script part:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><bean id=”shibboleth.authn.oidc.rp.discoveryFunction” parent=”shibboleth.ContextFunctions.Scripted”<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> factory-method=”inlineScript”<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> c:outputType=”java.lang.String”<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> p:customObject-ref=”rpOpMap”><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> <constructor-arg name=”scriptSource”><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> <value><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> <![DATA[<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">It just says it can’t resolve “rpOpMap”. For SAML, I use ”shibboleth.authn.SAML.discoveryFunction”, then it has no problem.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Is this the right way to do it for OIDC? This is shibboleth v5.2.1.<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">Thanks,<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">Johnny<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
</body>
</html>