Table of Contents
- List of Examples
- List of Figures
- List of Tables
- Title and Copyright Information
- Preface
- What's New in the SDK?
-
Part I Programming for Oracle Identity Management
-
1
Developing Applications for Oracle Identity Management
- 1.1 Overview of Oracle Identity Management Services Available for Application Integration
- 1.2 Understanding Existing Applications Integration with Oracle Identity Management
-
1.3
Overview of Oracle Identity Management Programming
- 1.3.1 About Programming Languages Supported by Oracle Internet Directory SDK
- 1.3.2 About Oracle Identity Management SDK Components
-
1.3.3
Developing Application in the Oracle Identity Management Environment
- 1.3.3.1 Oracle Identity Management Application Architecture
- 1.3.3.2 Oracle Identity Management Interactions During the Application Life Cycle
- 1.3.3.3 Services and APIs to Integrate Applications with Oracle Identity Management
- 1.3.3.4 Example of Using APIs and Services for Application Integration with Oracle Internet Directory
- 1.3.3.5 Services to Integrate Existing Applications with Oracle Identity Management
-
2
Developing Applications with Standard LDAP APIs
- 2.1 Overview of LDAP History
-
2.2
Understanding LDAP Models
- 2.2.1 About the Naming Model
- 2.2.2 About the Information Model
- 2.2.3 About the Functional Model
-
2.2.4
About the Security Model
- 2.2.4.1 Understanding Authentication Types in Oracle Internet Directory
- 2.2.4.2 Understanding Access Control and Authorization in Oracle Internet Directory
- 2.2.4.3 Understanding Data Integrity in Oracle Internet Directory
- 2.2.4.4 Understanding Data Privacy in Oracle Internet Directory
- 2.2.4.5 Understanding Password Policies in Oracle Internet Directory
- 2.3 Using Standard LDAP APIs in Oracle Internet Directory
- 2.4 Initializing an LDAP Session
- 2.5 Authenticating an LDAP Session
- 2.6 Searching the Directory
- 2.7 Terminating the Session
-
3
Extensions to the LDAP Protocol
- 3.1 Using SASL Authentication Mechanism
- 3.2 Understanding Oracle Internet Directory Controls
- 3.3 Using Proxy on Behalf of End Users
-
3.4
Creating Dynamic Password Verifiers
- 3.4.1 Using Request Control to Create Dynamic Password Verifiers
- 3.4.2 Syntax for DynamicVerifierRequestControl
- 3.4.3 Parameters Required by the Hashing Algorithms
- 3.4.4 Understanding Request Control for Dynamic Password Verifiers
- 3.4.5 Understanding Response Control for Dynamic Password Verifiers
- 3.4.6 Obtaining Privileges for the Dynamic Verifier Framework
- 3.5 Performing Hierarchical Searches Using CONNECT_BY Control
- 3.6 Understanding Sorted LDAP Search Results
- 3.7 Understanding Paged LDAP Search Results
- 3.8 Using Password Policies
-
4
Developing Applications With Oracle Extensions to the Standard APIs
- 4.1 Understanding Oracle Extensions to the Standard APIs
- 4.2 Creating an Application Identity in the Directory
- 4.3 Features of User Management Using LDAP APIs
- 4.4 Understanding Groups in Oracle Internet Directory
- 4.5 Understanding Identity Management Realms
- 4.6 Discovering a Directory Server
-
5
Using the Java API Extensions to JNDI
- 5.1 About Java Extension Installation
- 5.2 Using the oracle.ldap.util Package to Model LDAP Objects
- 5.3 Using Classes PropertySetCollection, PropertySet, and Property
- 5.4 Managing Users Using oracle.ldap.util.User Java Class
- 5.5 Authenticating Users in LDAP operation
- 5.6 Creating Users Using createUser( )
- 5.7 Retrieving User Objects
- 5.8 Retrieving Objects from Realms
- 5.9 Searching for Oracle Single Sign-On Login Name
- 5.10 Java Class Introduction for Discovering a Directory Server
- 5.11 Discovering a Directory Server
- 5.12 Using DIGEST-MD5 to Perform SASL Authentication
- 5.13 Using SASL Digest-MD5 auth-int and auth-conf Modes
- 5.14 Using LDAP Transactions
-
5.15
Using JNDI-Based LDAP Transactions
- 5.15.1 Implementing Start Transaction Request Interface (LdapStartTxnReq.java)
- 5.15.2 Implementing Start Transaction Response Interface (LdapStartTxnRes.java)
- 5.15.3 Implementing End Transaction Request Interface (LdapEndTxnReq.java)
- 5.15.4 Implementing End Transaction Response Interface (LdapEndTxnRes.java)
- 5.15.5 Using Java and Pseudocode Sample of Interfaces in LDAP Update Operations Within Transaction Semantics (LdapTxnOperation.java)
- 6 Using the API Extensions in PL/SQL
- 7 Developing Provisioning-Integrated Applications
-
1
Developing Applications for Oracle Identity Management
-
Part II Oracle Internet Directory Programming Reference
-
8
C API Reference
- 8.1 Overview of Oracle Internet Directory C API
- 8.2 C API Functions at a Glance
- 8.3 Sample C API Usage
- 8.4 Implementing Header Files and Libraries for the C API Usage
- 8.5 Dependencies and Limitations of the C API
- 8.6 Initializing an LDAP Session and Usage Notes
- 8.7 LDAP Session Handle Options
- 8.8 Getting Bind Credentials for Chasing Referrals
- 8.9 Authenticating to the Directory
- 8.10 SASL Authentication Using Oracle Extensions
- 8.11 Working With Controls
- 8.12 Closing the Session
-
8.13
Performing LDAP Operations
- 8.13.1 ldap_search_ext, ldap_search_ext_s, ldap_search, and ldap_search_s
- 8.13.2 ldap_compare_ext, ldap_compare_ext_s, ldap_compare, and ldap_compare_s
- 8.13.3 ldap_modify_ext, ldap_modify_ext_s, ldap_modify, and ldap_modify_s
- 8.13.4 ldap_rename and ldap_rename_s
- 8.13.5 ldap_add_ext, ldap_add_ext_s, ldap_add, and ldap_add_s
- 8.13.6 ldap_delete_ext, ldap_delete_ext_s, ldap_delete, and ldap_delete_s
- 8.13.7 ldap_extended_operation and ldap_extended_operation_s
- 8.14 Abandoning an Operation
- 8.15 Obtaining Results and Peeking Inside LDAP Messages
- 8.16 Obtaining Results and Peeking Inside LDAP Messages
- 8.17 Handling Errors and Parsing Results
- 8.18 Stepping Through a List of Results
-
8.19
Parsing Search Results
- 8.19.1 ldap_first_entry, ldap_next_entry, ldap_first_reference, ldap_next_reference, ldap_count_entries, and ldap_count_references
- 8.19.2 ldap_first_attribute and ldap_next_attribute
- 8.19.3 ldap_get_values, ldap_get_values_len, ldap_count_values, ldap_count_values_len, ldap_value_free, and ldap_value_free_len
- 8.19.4 ldap_get_dn, ldap_explode_dn, ldap_explode_rdn, and ldap_dn2ufn
- 8.19.5 ldap_get_entry_controls
- 8.19.6 ldap_parse_reference
-
9
DBMS_LDAP PL/SQL Reference
- 9.1 API Subprograms of a DBMS_LDAP Package
- 9.2 Exception Summary of a DBMS_LDAP Package
- 9.3 Data Types Used by DBMS_LDAP Package
-
9.4
DBMS_LDAP API Subprograms
- 9.4.1 FUNCTION init
- 9.4.2 FUNCTION simple_bind_s
- 9.4.3 FUNCTION bind_s
- 9.4.4 FUNCTION unbind_s
- 9.4.5 FUNCTION compare_s
- 9.4.6 FUNCTION search_s
- 9.4.7 FUNCTION search_st
- 9.4.8 FUNCTION first_entry
- 9.4.9 FUNCTION next_entry
- 9.4.10 FUNCTION count_entries
- 9.4.11 FUNCTION first_attribute
- 9.4.12 FUNCTION next_attribute
- 9.4.13 FUNCTION get_dn
- 9.4.14 FUNCTION get_values
- 9.4.15 FUNCTION get_values_len
- 9.4.16 FUNCTION get_values_len
- 9.4.17 FUNCTION delete_s
- 9.4.18 FUNCTION modrdn2_s
- 9.4.19 FUNCTION err2string
- 9.4.20 FUNCTION create_mod_array
- 9.4.21 PROCEDURE populate_mod_array (String Version)
- 9.4.22 PROCEDURE populate_mod_array (Binary Version)
- 9.4.23 PROCEDURE populate_mod_array (Binary Version. Uses BLOB Data Type)
- 9.4.24 FUNCTION get_values_blob
- 9.4.25 FUNCTION count_values_blob
- 9.4.26 FUNCTION value_free_blob
- 9.4.27 FUNCTION modify_s
- 9.4.28 FUNCTION add_s
- 9.4.29 PROCEDURE free_mod_array
- 9.4.30 FUNCTION count_values
- 9.4.31 FUNCTION count_values_len
- 9.4.32 FUNCTION rename_s
- 9.4.33 FUNCTION explode_dn
- 9.4.34 FUNCTION open_ssl
- 9.4.35 FUNCTION msgfree
- 9.4.36 FUNCTION ber_free
- 9.4.37 FUNCTION nls_convert_to_utf8
- 9.4.38 FUNCTION nls_convert_from_utf8
- 9.4.39 FUNCTION nls_get_dbcharset_name
- 10 Java API Reference
-
11
DBMS_LDAP_UTL PL/SQL Reference
- 11.1 Subprograms at a Glance
- 11.2 Handling Subprograms
- 11.3 Function Return Code Summary
- 11.4 Data Type Summary
-
11.5
User-Related Subprograms
- 11.5.1 Function authenticate_user
- 11.5.2 Function create_user_handle
- 11.5.3 Function set_user_handle_properties
- 11.5.4 Function get_user_properties
- 11.5.5 Function set_user_properties
- 11.5.6 Function get_user_extended_properties
- 11.5.7 Function get_user_dn
- 11.5.8 Function check_group_membership
- 11.5.9 Function locate_subscriber_for_user
- 11.5.10 Function get_group_membership
- 11.6 Group-Related Subprograms
- 11.7 Subscriber-Related Subprograms
- 11.8 Property-Related Subprograms
-
11.9
Miscellaneous Subprograms
- 11.9.1 Function normalize_dn_with_case
- 11.9.2 Function get_property_names
- 11.9.3 Function get_property_values
- 11.9.4 Function get_property_values_len
- 11.9.5 Procedure free_propertyset_collection
- 11.9.6 Function create_mod_propertyset
- 11.9.7 Function populate_mod_propertyset
- 11.9.8 Procedure free_mod_propertyset
- 11.9.9 Procedure free_handle
- 11.9.10 Function check_interface_version
- 11.9.11 Function get_property_values_blob
- 11.9.12 Procedure property_value_free_blob
-
12
Oracle Directory Integration and Provisioning Java API Reference
-
12.1
Handling Application Registration and Provisioning Configuration
- 12.1.1 Registering an Application
-
12.1.2
Understanding Provisioning Configuration
- 12.1.2.1 Comparison Between Provisioning Configuration Versions
- 12.1.2.2 Version 3.0-Specific Provisioning Configuration Location
-
12.1.2.3
Overview of Provisioning Configuration DIT Structure in Oracle Internet Directory
- 12.1.2.3.1 Application Identity Information Parameters
- 12.1.2.3.2 Application Identity Realm Information
- 12.1.2.3.3 Default Policy Configuration
- 12.1.2.3.4 Application User Data Location
- 12.1.2.3.5 Event Interface Configuration
- 12.1.2.3.6 Application User Attribute and Defaults Configuration
- 12.1.2.3.7 Application Provisioning Plug-in Configuration
- 12.1.2.3.8 Parameters for Event Propagation Configuration
- 12.1.2.3.9 Application Event Propagation Run Time Status
- 12.2 Classes to Configure Applications
- 12.3 Handling User Management Operations
- 12.4 Setting Up the Debug Mode
- 12.5 Handling a User Sample Code
-
12.1
Handling Application Registration and Provisioning Configuration
-
13
Oracle Directory Integration Platform PL/SQL API Reference
- 13.1 About Versions for Provisioning Files and Interfaces
- 13.2 Understanding Extensible Event Definition Configuration
- 13.3 Attributes of Inbound and Outbound Events
- 13.4 Implementing PL/SQL Bidirectional Interface (Version 3.0)
- 13.5 Implementing PL/SQL Bidirectional Interface (Version 2.0)
- 13.6 Provisioning Event Interface (Version 1.1)
-
8
C API Reference
- Part III Appendixes
-
A
Java Plug-ins for User Provisioning
- A.1 Understanding Plug-in Types Used in Provisioning
- A.2 Understanding the Requirements for Provisioning Plug-ins
- A.3 Data Entry Provisioning Plug-ins
- A.4 Implementing Data Access Provisioning Plug-in
- A.5 Implementing Event Delivery Provisioning Plug-in
- A.6 Return Status for Provisioning Plug-ins
- A.7 Configuration Template to Implement Provisioning Plug-ins
- A.8 Provisioning Plug-in Sample Code
- B DSML Syntax
- C Migrating from Netscape LDAP SDK API to Oracle LDAP SDK API