SP v4 alpha2 and discoveryURL ?
Jarno Huuskonen
jarno.huuskonen at uef.fi
Wed Jul 1 15:30:33 UTC 2026
Hi,
Noticed a bit strange behaviour on alpha2 and discoveryURL:
sp.properties:
sp.discoveryURL = https://haka.funet.fi/DS/
sp.issuer = https://THISisERROR.uef.fi
and in agents.xml:
<bean p:id="sptest1.uef.fi" parent="shibboleth.sp.Agent"
p:issuer="https://sptest1.uef.fi/sp"
p:tokenConsumers="#{{ 'saml2/post' }}"
p:authenticationMethod="basic" p:credentials="#{ {null :
'somethingsomething'} }"
p:allowedAddressRanges="#{ { 'a.b.c.d', 'ip.v6.add.ress...' } }">
<property name="applications">
<set>
<bean p:id="dstest1.uef.fi"
parent="shibboleth.sp.Application"
p:authenticatingAuthority="#{null}" />
</set>
</property>
</bean>
And now if access sptest1 it issues redirect to:
https://haka.funet.fi/DS/?return=https%3A%2F%2Fsptest1.uef.fi%2FShibboleth.sso%2FLogin%3FDS%3D1%26state%3Dstateremoved&entityID=https%3A%2F%2FTHISisERROR.uef.fi
Should the entityID on the DS url be
p:issuer="https://sptest1.uef.fi/sp" and not default sp.issuer ?
Also if I access dstest1.uef.fi (mapped to dstest1.uef.fi application
(logs show that application is dstest1.uef.fi)) then discovery is
skipped. Hub doesn't log:
"Profile Action ValidateSessionInitiatorRequest: Evaluating
applicability of request to discovery session initiator flow" like it
does when accessing sptest1.
If I've p:authenticatingAuthority="https://idp.uef.fi/idp/shibboleth"
for <bean p:id="sptest1.uef.fi"
then both sptes1 and dstest1 issue redirects to idp.uef.fi.
It's not a problem if agent and application must use either discovery
or p:authenticatingAuthority, this was just a test, but should
discovery work for application ?
There are one or two SPs that use applications(different entityID and
different attributes (and logging on IdP which service accessed)).
I'm assuming that scripted/AutomatedIssuerGeneration could be used to
use different p:issuer for agent and agent/application.
Something like:
<bean id="custom.IssuerStrategy"
parent="shibboleth.ContextFunctions.Scripted"
...
(script returns different issuer based on agentRequestContext /
getAgent() / getApplication())
And use that script for application agent:
<bean p:id="sptest1.uef.fi" parent="shibboleth.sp.Agent"
p:issuerLookupStrategy-ref="custom.IssuerStrategy"
-Jarno
--
Jarno Huuskonen
More information about the users
mailing list