11. The non-transitory computer-readable storage medium according to claim 7 , further comprising: instructions for providing an additional API to allow the user identification information to be passed to an additional secure data source.
7. A non-transitory computer readable storage medium storing instructions, which when executed by one or more processors cause the one or more processors to authenticate users in a secure search system, the instructions comprising: instructions for receiving user identification information from a user in a secure enterprise system; instructions for authenticating the user to a plurality of secure data sources by providing the user identification information to a plurality of application program interfaces (APIs), with each API interfacing with a respective identity management computer system, and with each identity management computer system of a plurality of identity management computer systems managing identities for one or more secure data sources in the secure enterprise system, where each secure data source provides access to data by authenticated and authorized users, where a number or types of objects representing the user identification information required by a first identity management computer system is different from a number or types of objects representing the user identification information required by a second identity management computer system; instructions for crawling a secure data source associated with the at least one identity management computer system and building an index of documents based on the crawling; instructions for receiving a query from the user; instructions for calling back into the at least one identity management computer system to obtain a security attribute value for the user in response to the query; instructions for appending the security attribute value for the user to the query and using the appended query to query the index; and instructions for determining, based on the appended query and security attributes of documents in the secure data source, one or more documents from the index of documents, that are accessible to the user.