The World Bank eLibrary

Initially posted on Tuesday, 7 December 2010

The World Bank eLibrary is the World Bank's subscription-based full-text collection of nearly 6,000 books, reports, journals, and working papers.

This includes: Development Outreach, World Bank Economic Review and World Bank Research Observer journal articles published since 1996;Development Economics (DEC) policy research working papers published since 1995; e-books and reports dating as far as the 1970's (in the case of the World Development Reports), plus all new formal publications upon release.

Org.ServiceShib.AttributeNotesRequired
Publishing TechnologyThe World Bank eLibraryOpenAthens SP Vsn 1.2eduPersonTargetedID
eduPersonPrincipalName
2,8
8
See note
See note

The administrator of the institution needs to link the institutional registration to the organisation that is part of the UK Federation. This is done in the authentication page of the administration area.

Notes:

2. Many services can make use of the eduPersonTargetedID attribute. This is a persistent opaque identifier, which enables service personalisation (remembering data about a user over different login sessions) without the service provider knowing who the user is. If the identity provider supplies the eduPersonTargetedID attribute, the session is treated similarly to an Athens personal account. Otherwise, the service's personalisation features (e.g., saved searches) may be disabled, though the service will still function in the same way as with Athens shared accounts. With some services (e.g., Zetoc Alert) this attribute is mandatory. If so, it is marked as "Required/Yes" in the table in Attribute Usage.

A Shibboleth identity provider can generate the opaque eduPersonTargetedID attribute automatically from some other stored attribute that holds the user id in the clear. All values of the stored attribute must be unique, and, preferably, not subject to reuse. If the only suitable available stored attribute might be reused then care must be taken (particularly for organisations asserting user accountability) to ensure that no value of that attribute is reallocated to another user for at least two years after being cancelled.

The actual modification depends on the contents of your directory, but if there is a suitable attribute in the directory called, say, "uid" then you should modify your resolver.xml file to include the following:

 
<PersistentIDAttributeDefinition id="urn:mace:dir:attribute-def:eduPersonTargetedID"
                                 scope="SSSSSSSS" sourceName="uid">
   <DataConnectorDependency requires="directory"/>
   <Salt>XXXXXXXXXXXXXXXXXXXXXXX</Salt>
</PersistentIDAttributeDefinition>

Replace the scope "SSSSSSSS" with the domain for which the attribute is to be asserted, e.g., "uni.ac.uk". The <Salt> is a constant, arbitrary value that you should choose once and keep secret. The value must be at least 16 characters long, otherwise the software will silently ignore it and expect the value to be supplied from a Java keystore. The Salt value is used to generate the persistent opaque identifier from the scope and some other attribute, normally the user id (assumed in the example above to exist within the directory as an attribute called "uid"). Its purpose is to prevent attempts to work back from the opaque identifier to the user's identity by combining knowledge of the scope and the hash function used with an exhaustive search of the possible user ids.

The default Shibboleth attribute release policy does not release eduPersonTargetedID. You must therefore manually edit the arp.site.xml file to enable this feature, as described under Attribute Release below.

Please note a caveat about the definition of eduPersonTargetedID in some older versions of the resolver.xml file.

8. When a service provider permits or requires individual user registration, they will require the identity provider to present eduPersonTargetedID or eduPersonPrincipalName. This allows logins to be related back to the user's registration details.

NB: in general we recommend the use of eduPersonTargetedID as presentation of eduPersonPrincipalName has implications under the DPA. Configuration of eduPersonTargetedID is described in note 2 above.