com.sap.core.connectivity.api.configuration

## Interface DestinationConfiguration

-     public interface DestinationConfiguration

  `DestinationConfiguration` interface provides read only access to destination properties.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DESTINATION_ASSERTION_ISSUER` Issuer of the SAML assertion.
    `static String` | `DESTINATION_AUDIENCE` Intended audience of the assertion, which will be verified by the OAuth authorization server.
    `static String` | `DESTINATION_AUTHENTICATION_TYPE` The destination authentication type.
    `static String` | `DESTINATION_AUTHN_CONTEXT_CLASS_REF` Value of the AuthnContextClassRef tag, which is part of generated OAuth2SAMLBearerAssertion authentication.
    `static String` | `DESTINATION_CERTIFICATE` An encoded certificate that is trusted by the SAP system.
    `static String` | `DESTINATION_CLIENT_ID` The client_id is a public identifier for apps.
    `static String` | `DESTINATION_CLIENT_KEY` Key that identifies the consumer to the authorization server.
    `static String` | `DESTINATION_CLIENT_SECRET` The client_secret is a secret known only to the application and the authorization server.
    `static String` | `DESTINATION_CLOUDCONNECTOR_LOCATION_ID` The location ID identifying the cloud connector over which the connection shall be opened.
    `static String` | `DESTINATION_COMPANY_ID` Company identifier.
    `static String` | `DESTINATION_HOSTNAME_VERIFIER` Optional property.
    `static String` | `DESTINATION_ISSUER_CLIENT` Client ID to be trusted by the back-end system.
    `static String` | `DESTINATION_ISSUER_SID` System ID to be trusted by the back-end system.
    `static String` | `DESTINATION_JCO_CLIENT_ASHOST` Represents the application server host to be used.
    `static String` | `DESTINATION_JCO_CLIENT_CLIENT` Represents the client to be used in the ABAP system.
    `static String` | `DESTINATION_JCO_CLIENT_MSHOST` Represents the message server host to be used.
    `static String` | `DESTINATION_JCO_CLIENT_MSSERV` Represents the port on which the message server is listening for incoming requests.
    `static String` | `DESTINATION_JCO_CLIENT_PASSWD` Represents the password of DESTINATION_JCO_CLIENT_USER that shall be used.
    `static String` | `DESTINATION_JCO_CLIENT_R3NAME` Represents the three-character system ID of the ABAP system to be addressed.
    `static String` | `DESTINATION_JCO_CLIENT_USER` Represents the user to be used for logging on to the ABAP system.
    `static String` | `DESTINATION_JCO_CLIENTSYSNR` Represents the so-called "system number" and has two digits.
    `static String` | `DESTINATION_JCO_DESTINATION_REPOSITORY_DESTINATION` Optional property.
    `static String` | `DESTINATION_JCO_DESTINATION_REPOSITORY_PASSWD` Optional property.
    `static String` | `DESTINATION_JCO_DESTINATION_REPOSITORY_USER` Optional property.
    `static String` | `DESTINATION_KEY_STORE_PASSWORD` The password for the keystore.
    `static String` | `DESTINATION_NAME` The name of the destination.
    `static String` | `DESTINATION_NAME_ID_FORMAT` Value of the NameIdFormat tag, which is part of generated OAuth2SAMLBearerAssertion authentication.
    `static String` | `DESTINATION_NAME_QUALIFIER` Security domain of the user for which access token will be requested.
    `static String` | `DESTINATION_PASSWORD` The password.
    `static String` | `DESTINATION_PREEMPTIVE` If this property is not set or is set to TRUE (default value), the authentication token is sent preemptively.
    `static String` | `DESTINATION_PROXY_TYPE` The destination proxy type.
    `static String` | `DESTINATION_RECIPIENT_CLIENT` Client ID of the back-end system.
    `static String` | `DESTINATION_RECIPIENT_SID` System ID of the back-end system.
    `static String` | `DESTINATION_SAML2_AUDIENCE` Key of the destination property that defines the saml2 audience of the issued saml2 response.
    `static String` | `DESTINATION_SCOPE` The value of the OAuth 2.0 scope parameter expressed as a list of space-delimited, case-sensitive strings.
    `static String` | `DESTINATION_SESSION_COOKIE_NAMES` Optional property.
    `static String` | `DESTINATION_SIGNING_KEY` An encoded private key that is trusted by the SAP system.
    `static String` | `DESTINATION_SKIP_SSO_TOKEN_GENERATION_WHEN_NO_USER` Token generation is skipped, if this parameter is set and there is no user logged in, thus allowing anonymous access to public resources.
    `static String` | `DESTINATION_SYSTEM_USER` Optional property.
    `static String` | `DESTINATION_TOKEN_SERVICE_PASSWORD` Password for DESTINATION_TOKEN_SERVICE_USER property value.
    `static String` | `DESTINATION_TOKEN_SERVICE_URL` URL of the OAuth server.
    `static String` | `DESTINATION_TOKEN_SERVICE_USER` User for basic authentication to OAuth server.
    `static String` | `DESTINATION_TYPE` The type of the destination.
    `static String` | `DESTINATION_URL` The base destination URL.
    `static String` | `DESTINATION_USER` User name.
    `static String` | `DESTINATION_USER_ID_SOURCE` When this property is set, the generated saml2 assertion uses the currently logged-in user as a value for the NameId tag.
    `static String` | `TRUST_ALL` If this property is in the destination then the server certificate will not be checked.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,String>` | `getAllProperties()` Returns all destination properties in read only Map.
    `KeyStore` | `getKeyStore()` Returns the keystore configured in the destination.
    `String` | `getProperty(String key)` Returns the value of destination property with the specified key.
    `KeyStore` | `getTrustStore()` Returns the truststore configured in the destination.

- - ### Field Detail

    - #### DESTINATION_NAME

          static final String DESTINATION_NAME

      The name of the destination. Must be the same as the name of the configuration file. The name must not contain "/" or "\".
      See Also:
        Constant Field Values

    - #### DESTINATION_TYPE

          static final String DESTINATION_TYPE

      The type of the destination.
      See Also:
        Constant Field Values

    - #### DESTINATION_URL

          static final String DESTINATION_URL

      The base destination URL.
      See Also:
        Constant Field Values

    - #### DESTINATION_PROXY_TYPE

          static final String DESTINATION_PROXY_TYPE

      The destination proxy type.
      See Also:
        Constant Field Values

    - #### DESTINATION_AUTHENTICATION_TYPE

          static final String DESTINATION_AUTHENTICATION_TYPE

      The destination authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_USER

          static final String DESTINATION_USER

      User name. Valid only for Basic Authentication.
      See Also:
        Constant Field Values

    - #### DESTINATION_PASSWORD

          static final String DESTINATION_PASSWORD

      The password. Valid only for Basic Authentication.
      See Also:
        Constant Field Values

    - #### TRUST_ALL

          static final String TRUST_ALL

      If this property is in the destination then the server certificate will not be checked. THIS SHOULD NOT BE USED IN PRODUCTIVE SCENARIOS.
      See Also:
        Constant Field Values

    - #### DESTINATION_PREEMPTIVE

          static final String DESTINATION_PREEMPTIVE

      If this property is not set or is set to TRUE (default value), the authentication token is sent preemptively. Otherwise, it relies on the challenge from the server (401 HTTP code). Valid only for basic authentication.
      See Also:
        Constant Field Values

    - #### DESTINATION_ISSUER_SID

          static final String DESTINATION_ISSUER_SID

      System ID to be trusted by the back-end system. Refers to SAPAssertionSSO authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_ISSUER_CLIENT

          static final String DESTINATION_ISSUER_CLIENT

      Client ID to be trusted by the back-end system. Refers to SAPAssertionSSO authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_RECIPIENT_SID

          static final String DESTINATION_RECIPIENT_SID

      System ID of the back-end system. Refers to SAPAssertionSSO authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_RECIPIENT_CLIENT

          static final String DESTINATION_RECIPIENT_CLIENT

      Client ID of the back-end system. Refers to SAPAssertionSSO authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_CERTIFICATE

          static final String DESTINATION_CERTIFICATE

      An encoded certificate that is trusted by the SAP system. Refers to SAPAssertionSSO authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_SIGNING_KEY

          static final String DESTINATION_SIGNING_KEY

      An encoded private key that is trusted by the SAP system. Refers to SAPAssertionSSO authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_SAML2_AUDIENCE

          static final String DESTINATION_SAML2_AUDIENCE

      Key of the destination property that defines the saml2 audience of the issued saml2 response. This property is relevant of destinations with authentication type AppToAppSSO.
      See Also:
        Constant Field Values

    - #### DESTINATION_AUDIENCE

          static final String DESTINATION_AUDIENCE

      Intended audience of the assertion, which will be verified by the OAuth authorization server. Refers to OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_CLIENT_KEY

          static final String DESTINATION_CLIENT_KEY

      Key that identifies the consumer to the authorization server. Refers to OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_TOKEN_SERVICE_URL

          static final String DESTINATION_TOKEN_SERVICE_URL

      URL of the OAuth server. Refers to OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_TOKEN_SERVICE_USER

          static final String DESTINATION_TOKEN_SERVICE_USER

      User for basic authentication to OAuth server. Refers to OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_TOKEN_SERVICE_PASSWORD

          static final String DESTINATION_TOKEN_SERVICE_PASSWORD

      Password for DESTINATION_TOKEN_SERVICE_USER property value. Refers to OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_NAME_QUALIFIER

          static final String DESTINATION_NAME_QUALIFIER

      Security domain of the user for which access token will be requested.
      See Also:
        Constant Field Values

    - #### DESTINATION_COMPANY_ID

          static final String DESTINATION_COMPANY_ID

      Company identifier.
      See Also:
        Constant Field Values

    - #### DESTINATION_ASSERTION_ISSUER

          static final String DESTINATION_ASSERTION_ISSUER

      Issuer of the SAML assertion.
      See Also:
        Constant Field Values

    - #### DESTINATION_SCOPE

          static final String DESTINATION_SCOPE

      The value of the OAuth 2.0 scope parameter expressed as a list of space-delimited, case-sensitive strings. Refers to OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_SKIP_SSO_TOKEN_GENERATION_WHEN_NO_USER

          static final String DESTINATION_SKIP_SSO_TOKEN_GENERATION_WHEN_NO_USER

      Token generation is skipped, if this parameter is set and there is no user logged in, thus allowing anonymous access to public resources. If set, it may have any value. Refers to AppToAppSSO and OAuth2SAMLBearerAssertion authentication type.
      See Also:
        Constant Field Values

    - #### DESTINATION_AUTHN_CONTEXT_CLASS_REF

          static final String DESTINATION_AUTHN_CONTEXT_CLASS_REF

      Value of the AuthnContextClassRef tag, which is part of generated OAuth2SAMLBearerAssertion authentication.
      See Also:
        Constant Field Values

    - #### DESTINATION_NAME_ID_FORMAT

          static final String DESTINATION_NAME_ID_FORMAT

      Value of the NameIdFormat tag, which is part of generated OAuth2SAMLBearerAssertion authentication.
      See Also:
        Constant Field Values

    - #### DESTINATION_SYSTEM_USER

          static final String DESTINATION_SYSTEM_USER

      Optional property. Signifies whether SAP assertion tickets are generated with specific user ID or sent on behalf of the currently logged user.
      See Also:
        Constant Field Values

    - #### DESTINATION_KEY_STORE_PASSWORD

          static final String DESTINATION_KEY_STORE_PASSWORD

      The password for the keystore.
      See Also:
        Constant Field Values

    - #### DESTINATION_USER_ID_SOURCE

          static final String DESTINATION_USER_ID_SOURCE

      When this property is set, the generated saml2 assertion uses the currently logged-in user as a value for the NameId tag.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_CLIENT

          static final String DESTINATION_JCO_CLIENT_CLIENT

      Represents the client to be used in the ABAP system. Valid format is a three-digit number.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_USER

          static final String DESTINATION_JCO_CLIENT_USER

      Represents the user to be used for logging on to the ABAP system.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_PASSWD

          static final String DESTINATION_JCO_CLIENT_PASSWD

      Represents the password of DESTINATION_JCO_CLIENT_USER that shall be used. Passwords in systems of SAP NetWeaver releases lower than 7.0 are case-insensitive and can be only eight characters long. For releases 7.0 and higher, passwords are case-sensitive with a maximum length of 40.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_DESTINATION_REPOSITORY_DESTINATION

          static final String DESTINATION_JCO_DESTINATION_REPOSITORY_DESTINATION

      Optional property. Specifies which destination should be used for repository queries. If the destination does not exist, an error occurs when trying to retrieve the repository.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_DESTINATION_REPOSITORY_USER

          static final String DESTINATION_JCO_DESTINATION_REPOSITORY_USER

      Optional property. If this property is set and DESTINATION_JCO_DESTINATION_REPOSITORY_DESTINATION is not set, it will be used as the user for repository queries. This case allows having a different user for repository lookups, and restricting this user's permissions accordingly.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_DESTINATION_REPOSITORY_PASSWD

          static final String DESTINATION_JCO_DESTINATION_REPOSITORY_PASSWD

      Optional property. Represents the password for DESTINATION_JCO_DESTINATION_REPOSITORY_USER. If such a user is used, this property is mandatory.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_ASHOST

          static final String DESTINATION_JCO_CLIENT_ASHOST

      Represents the application server host to be used. In the case of configurations in the Cloud, this property needs to match a virtual host entry in the cloud connector Access Control configuration. The existence of this property signals that a direct connection shall be established.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENTSYSNR

          static final String DESTINATION_JCO_CLIENTSYSNR

      Represents the so-called "system number" and has two digits. It identifies the logical port on which the application server is listening for incoming requests. In the case of configurations in the Cloud, this property needs to match a virtual port entry in the cloud connector Access Control configuration.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_MSHOST

          static final String DESTINATION_JCO_CLIENT_MSHOST

      Represents the message server host to be used. In the case of configurations in the Cloud, this property needs to match a virtual host entry in the cloud connector Access Control configuration. The existence of this property signals that load balancing shall be used for establishing a connection.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_R3NAME

          static final String DESTINATION_JCO_CLIENT_R3NAME

      Represents the three-character system ID of the ABAP system to be addressed. In the case of configurations in the Cloud, this property needs to match a virtual port entry in the cloud connector Access Control configuration.
      See Also:
        Constant Field Values

    - #### DESTINATION_JCO_CLIENT_MSSERV

          static final String DESTINATION_JCO_CLIENT_MSSERV

      Represents the port on which the message server is listening for incoming requests. This property can be used as an alternative to DESTINATION_JCO_CLIENT_R3NAME. In the case of configurations in the Cloud, this property needs to match a virtual port entry in the cloud connector Access Control configuration.
      See Also:
        Constant Field Values

    - #### DESTINATION_SESSION_COOKIE_NAMES

          static final String DESTINATION_SESSION_COOKIE_NAMES

      Optional property. Used by the AppToApp authentication module to recognize the user session, resulting in improvement of the performance of the HTTP client. If several cookies are listed, the session is recognized as soon as all of them are available in the response from the server.
      See Also:
        Constant Field Values

    - #### DESTINATION_CLOUDCONNECTOR_LOCATION_ID

          static final String DESTINATION_CLOUDCONNECTOR_LOCATION_ID

      The location ID identifying the cloud connector over which the connection shall be opened.
      See Also:
        Constant Field Values

    - #### DESTINATION_HOSTNAME_VERIFIER

          static final String DESTINATION_HOSTNAME_VERIFIER

      Optional property. Used for checking if a hostname matches the names stored inside the server's X.509 certificate. See org.apache.http.conn.ssl.X509HostnameVerifier for more info.
      See Also:
        Constant Field Values

    - #### DESTINATION_CLIENT_ID

          static final String DESTINATION_CLIENT_ID

      The client_id is a public identifier for apps. Even though it’s public, it’s best that it isn’t guessable by third parties, so many implementations use something like a 32-character hex string. It must also be unique across all clients that the authorization server handles. If the client ID is guessable, it makes it slightly easier to craft phishing attacks against arbitrary applications. OAuth2ClientCredentials authentication type
      See Also:
        Constant Field Values

    - #### DESTINATION_CLIENT_SECRET

          static final String DESTINATION_CLIENT_SECRET

      The client_secret is a secret known only to the application and the authorization server. It must be sufficiently random to not be guessable, which means you should avoid using common UUID libraries which often take into account the timestamp or MAC address of the server generating it. OAuth2ClientCredentials authentication type
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getProperty

          String getProperty(String key)

      Returns the value of destination property with the specified key.
      Parameters:
        `key` - - Key of destination property.
      Returns:
        Value of property or `null` if the property does not exists.

    - #### getAllProperties

          Map<String,String> getAllProperties()

      Returns all destination properties in read only Map.
      Returns:
        Read only `Map` with all destination properties.

    - #### getKeyStore

          KeyStore getKeyStore()

      Returns the keystore configured in the destination. For this, a keystore file must have been uploaded before and the destination properties "KeyStoreLocation" and "KeyStorePassword" must be defined in the destination properties.
      Returns:
        the keystore of the destination as `KeyStore` or `null` if a keystore is not configured or is missing.
      Throws:
        `IllegalArgumentException` - when properties "KeyStoreLocation" and "KeyStorePassword" are wrong.

    - #### getTrustStore

          KeyStore getTrustStore()

      Returns the truststore configured in the destination. For this, a truststore file must have been uploaded before and the destination properties "TrustStoreLocation" and "TrustStorePassword" must be defined in the destination properties. Note that the JDK truststore is used by default for a destination if no truststore is explicitly specified or it is merged with the specified truststore.
      Returns:
        the truststore as `KeyStore`, the JDK trustore if a truststore is not configured or `null` if a truststore is missing.
      Throws:
        `IllegalArgumentException` - when properties "TrustStoreLocation" and "TrustStorePassword" are wrong.

Copyright © 2020 SAP. All Rights Reserved.