Developing a Custom Provider

Develop your custom provider by writing a provider metadata file specifying valid configuration options.

Packages in csi-core.jar library

Before starting development, be sure to understand the packages in the CSI core library. Packages include:
  • The com.sybase.security package contains the main classes and interfaces that define the SAP CSI framework.
  • The com.sybase.security.authorization package provides various types of security authorization request types with which a CSI consumer could construct more complex authorization requests.
  • The com.sybase.security.callback package contains the callback and callback handler implementations used and supported by the default authentication providers.
  • The com.sybase.security.core package contains the default provider implementations packaged as part of csi-core.jar file, as well as utility classes that are useful in implementing new providers.
  • The com.sybase.security.provider package contains the interfaces implemented by various provider types and helper abstract classes. These helper classes provide an abstract implementation of the corresponding provider interfaces, complete with placeholders for all of the implemented interface's methods, so that subclasses need only to override relevant methods. The AbstractLoginModule, AbstractAuthorizer, and AbstractAttributer present in this package can be extended to overwrite the necessary methods to develop a custom login module, authorizer, and attributer respectively. 
For more information, see Security API Reference.

Writing a provider metadata file

The CSI provider metadata XML file specifies the valid configuration options, including names, types, default values, as well as required or optional properties, for a particular CSI provider. The custom provider's details and configuration options in SAP Control Center is derived from the contents of this file. This metadata file should be named sybcsi-provider.xml and should conform to the latest providermetadata.xsd file included in the Security API. 

A sample sybcsi-provider.xml file is available in the sample project located at SMP_HOME\Servers\UnwiredServer\ServerSDK\securityAPI\samples\src\main\resources.