Handling database errors
Manuel Haim
haim at hrz.uni-marburg.de
Fri Sep 1 03:32:45 EDT 2017
Thanks Scott and Martin,
it turned out that the IdP still works fine inspite of database errors,
but my attribute-resolver.xml config fails completely, resulting in an
empty attribute set.
Is there a way to conditionally define the eduPersonTargetedID and/or
StoredId, so they won't break the attribute resolver on database errors?
Background:
With the database turned off, my StoredId data connector cannot resolve
a persistentId, causing the definition of "eduPersonTargetedId" to fail:
<AttributeDefinition id="eduPersonTargetedID" xsi:type="SAML2NameID"
sourceAttributeID="persistentId"
nameIdFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
<Dependency ref="myStoredId" />
<AttributeEncoder xsi:type="SAML1XMLObject"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" />
<AttributeEncoder xsi:type="SAML2XMLObject"
name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10"
friendlyName="eduPersonTargetedID" />
</AttributeDefinition>
<DataConnector id="myStoredId"
xsi:type="StoredId"
generatedAttributeID="persistentId"
sourceAttributeID="%{idp.persistentId.sourceAttribute}"
queryTimeout="PT5S">
<Dependency ref="%{idp.persistentId.sourceAttribute}" />
<BeanManagedConnection
>shibboleth.PostgreSQLDataSource</BeanManagedConnection>
</DataConnector>
ERROR [net.shibboleth.idp.profile.impl.ResolveAttributes:299] - Profile
Action ResolveAttributes: Error resolving attributes
net.shibboleth.idp.attribute.resolver.ResolutionException:
org.opensaml.saml.common.SAMLException: ID storage error obtaining
persistent identifier
[...]
WARN [net.shibboleth.idp.profile.logic.AbstractAttributePredicate:88] -
No AttributeContext located for evaluation
This results in an empty attribute set to be passed to the SP. However,
if I comment out the definition of "eduPersonTargetedId", the remaining
attributes are resolved correctly.
Kind regards,
Manuel
More information about the users
mailing list