Configuration Settings for JSON Context Provider

The JSON context provider is an IdAS context provider intended to connect to web services that offer access to identity data through Restful calls using JSON data formats. Settings for the context provider may be embedded in the IdAS Registry settings. For more information on how context provider settings are embedded in the IdAS Registry settings, see the ContextIdsList Setting subsection.

Notes

  • Currently the CP is experimental, it may not work for generalized use.
  • There is no support for update operations.

Configuration

References to the settings for the JSON context provider are described below.

baseURI

A string representing the base where we will start requesting entities. Without this setting nothing will work

httpClient

A map of optional settings to be configured on the internal httpclient. These override the default set in code by the cp or the base httpClient code. A full list of options may be found here.

AuditRecordClass

This setting follows the same format as described in Audit Record Class Setting for general information. Since this is a CP specific setting the endpoint is ignored.

entityAID

An optional string representing the name of the attribute which holds the entity's id.

Sample Configuration

This sample describes how we connected the CP to a particular restful service that provided both identity and roles.

<Setting Name="ComponentSettings" Type="htf:map">
	<Setting Name="IdASRegistry" Type="htf:map">
		<Setting Name="ComponentSettings" Type="htf:map">
			<Setting Name="RESTContextFactory" Type="htf:map">
			</Setting>
		</Setting>
		<Setting Name="RESTContextFactory" Type="htf:classinstance">org.bandit.idas.cp.rest.json.RESTContextFactory</Setting>
		<Setting Name="ContextFactoryInstancesList" Type="htf:list">
			<Setting Name="RESTContextFactory" Type="htf:map">
				<Setting Name="Instance" Type="xsd:string">RESTContextFactory</Setting>
				<Setting Name="ContextTypes" Type="htf:list">
					<Setting Name="RESTContextType" Type="xsd:string">$context+rest</Setting>
				</Setting>
			</Setting>
		</Setting>
		<Setting Name="ContextIdsList" Type="htf:list">
			<Setting Name="urn:femur" Type="htf:map">
				<Setting Name="ContextId" Type="xsd:string">urn:femur</Setting>
				<Setting Name="ContextTypes" Type="htf:list">
					<Setting Name="RESTContextType" Type="xsd:string">$context+rest</Setting>
				</Setting>
				<Setting Name="ContextUris" Type="htf:list">
					<Setting Name="DefaultContextUri" Type="xsd:anyURI">urn:femur</Setting>
				</Setting>
				<Setting Name="baseURI" Type="xsd:string">http://femur.qalab.cam.novell.com:8090/POC/roa/v1</Setting>
				<!-- Uncomment this setting to get audit logging for this context provider
				<Setting Name="AuditRecordClass" Type="xsd:string">org.bandit.otis.impl.OtisAuditRecord</Setting>
				-->
			</Setting>
		</Setting>
	</Setting>
</Setting>