A resolved destination containing information needed to execute requests, such as the system URL.

You can create a destination as a local object when supplying all necessary information, or it could be retrieved from the destination service on SAP Business Technology Platform (via DestinationFetchOptions). When creating a local object representing a destination, you need to supply at least the url and, if required by the target system, valid credentials with username and password.

interface Destination {
    authentication?: AuthenticationType;
    authTokens?: null | DestinationAuthToken[];
    certificates?: DestinationCertificate[];
    clientId?: string;
    clientSecret?: string;
    cloudConnectorLocationId?: string;
    forwardAuthToken?: boolean;
    headers?: Record<string, any>;
    isTestDestination?: boolean;
    isTrustingAllCertificates?: boolean;
    jwks?: string;
    jwksUri?: string;
    keyStoreName?: string;
    keyStorePassword?: string;
    mtls?: boolean;
    name?: null | string;
    originalProperties?: { [key: string]: any };
    password?: null | string;
    proxyConfiguration?: ProxyConfiguration;
    proxyType?: DestinationProxyType;
    queryParameters?: Record<string, any>;
    sapClient?: null | string;
    systemUser?: string;
    tokenServicePassword?: string;
    tokenServiceUrl?: string;
    tokenServiceUser?: string;
    trustStoreCertificate?: DestinationCertificate;
    type?: "HTTP" | "LDAP" | "MAIL" | "RFC";
    url?: string;
    username?: null | string;
}

Properties

authentication?: AuthenticationType

Type of authentication to use.

Defaults to NoAuthentication, unless username and password are provided, in which case the default is BasicAuthentication.

authTokens?: null | DestinationAuthToken[]

Authentication tokens returned from destination service on SAP Business Technology Platform.

certificates?: DestinationCertificate[]

Array of certificates used for authentication type ClientCertificateAuthentication.

clientId?: string

Client Id used to retrieve access token for "OAuth2ClientCredentials", "OAuth2UserTokenExchange" and "OAuth2JWTBearer" authentication.

clientSecret?: string

Client Secret used to retrieve access token for "OAuth2ClientCredentials", "OAuth2UserTokenExchange" and "OAuth2JWTBearer" authentication.

cloudConnectorLocationId?: string

Location ID of the Cloud Connector to be used for connection to an On-Premise system. Optional. Corresponds to property "CloudConnectorLocationId" in the additional properties of a destination.

forwardAuthToken?: boolean

If set to true the auth token provided to the request execution is forwarded to the destination target.

headers?: Record<string, any>

Additional headers to be used for calls against the destination, originally defined by URL.headers.<header-name>. The keys of this object denote the names of the headers and the values their values.

isTestDestination?: boolean

Flag indicating whether the destination is for test purpose. Should be "undefined" or "false" for non-mocked destinations.

isTrustingAllCertificates?: boolean

Flag indicating whether all certificates should be accepted when communicating with the destination. Should not be "true" in production.

jwks?: string

Base64-encoded JSON web key set, containing the signing keys which are used to validate the JWT provided in the X-User-Token header. This field is used to authenticate the destination using a JWT without JKU.

jwksUri?: string

URI of the JSON web key set, containing the signing keys which are used to validate the JWT provided in the X-User-Token header. This field is used to authenticate the destination using a JWT without JKU.

keyStoreName?: string

Name of the key store/certificate to be used for ClientCertificateAuthentication.

keyStorePassword?: string

Password of the key store/certificate to be used for ClientCertificateAuthentication.

mtls?: boolean

Destination has automatic mTLS handling on CloudFoundry.

If this option is set to true, the CloudFoundry instance identity will be automatically used for TLS secured HTTP requests.

name?: null | string

Name of the destination retrieved from SAP Business Technology Platform.

originalProperties?: { [key: string]: any }

Further properties of the destination as defined in destination service on SAP Business Technology Platform, possibly empty.

password?: null | string

Password to use for basic authentication, optional if other means of authentication shall be used.

proxyConfiguration?: ProxyConfiguration

ProxyConfiguration for on-premise connectivity and http(s) web proxies. Is present if proxyType of the destination equals "OnPremise" or environment variables [http_proxy] or [https_proxy] are set See ProxyConfiguration.

Proxy type to specify whether the target resides on-premise (not used).

queryParameters?: Record<string, any>

Additional query parameters to be used for calls against the destination, originally defined by URL.queries.<query-parameter-name>. The keys of this object denote the names of the query parameters and the values their values.

sapClient?: null | string

Client to target in an SAP system, will be added as HTTP header sap-client if set.

systemUser?: string

System user to be used for OAuth2SAMLBearerAssertion authentication type.

tokenServicePassword?: string

Password for tokenServiceUser (if required).

tokenServiceUrl?: string

URL to retrieve access token for "OAuth2ClientCredentials", "OAuth2UserTokenExchange" and "OAuth2JWTBearer" authentication.

tokenServiceUser?: string

User for basic authentication to OAuth server (if required).

trustStoreCertificate?: DestinationCertificate

Trusted certificate for https requests used by the destination. Only relevant for self-signed certificates where trust needs to be enabled in the client.

type?: "HTTP" | "LDAP" | "MAIL" | "RFC"

The type of the destination, defaults to 'HTTP'. The SAP Cloud SDK only understands destinations of type 'HTTP' and 'MAIL'.

url?: string

Base URL for calls to this destination. The URL has to define the protocol, like http:// or https://, and a host. The path for requests against this destination will be appended to the path defined in the URL as a new path segment.

username?: null | string

Username to use for basic authentication, optional if other means of authentication shall be used.

Copyright Ⓒ 2024 SAP SE or an SAP affiliate company. All rights reserved.