Konfigurieren von Authentifizierungsspezifikationen für Selbstbedienungsquellen (Batch-SDK)
Erstellt für:
- Entwickler
Authentifizierungsspezifikationen definieren, wie Adobe Experience Platform-Benutzer eine Verbindung zu Ihrer Quelle herstellen können.
Das authSpec
-Array enthält Informationen zu den Authentifizierungsparametern, die zum Verbinden einer Quelle mit Experience Platform erforderlich sind. Jede beliebige Quelle kann mehrere verschiedene Authentifizierungstypen unterstützen.
Authentifizierungsspezifikationen
Selbstbedienungsquellen (Batch-SDK) unterstützen OAuth 2-Aktualisierungs-Codes und die Standardauthentifizierung. In den folgenden Tabellen finden Sie Anleitungen zur Verwendung eines OAuth 2-Aktualisierungs-Codes und einer einfachen Authentifizierung
OAuth 2-Aktualisierungs-Code
Ein OAuth 2-Aktualisierungs-Code ermöglicht den sicheren Zugriff auf eine Anwendung, indem er ein temporäres Zugriffstoken und ein Aktualisierungstoken generiert. Mit dem Zugriffs-Token können Sie sicher auf Ihre Ressourcen zugreifen, ohne andere Anmeldeinformationen angeben zu müssen, während Sie mit dem Aktualisierungs-Token ein neues Zugriffs-Token generieren können, sobald das Zugriffs-Token abläuft.
Beispiel für einen OAuth 2-Aktualisierungs-Code anzeigen
{
"name": "OAuth2 Refresh Code",
"type": "OAuth2RefreshCode",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Define auth params required for connecting to generic rest using oauth2 authorization code.",
"properties": {
"authorizationTestUrl": {
"description": "Authorization test url to validate accessToken.",
"type": "string"
},
"clientId": {
"description": "Client id of user account.",
"type": "string"
},
"clientSecret": {
"description": "Client secret of user account.",
"type": "string",
"format": "password"
},
"accessToken": {
"description": "Access Token",
"type": "string",
"format": "password"
},
"refreshToken": {
"description": "Refresh Token",
"type": "string",
"format": "password"
},
"expirationDate": {
"description": "Date of token expiry.",
"type": "string",
"format": "date",
"uiAttributes": {
"hidden": true
}
},
"accessTokenUrl": {
"description": "Access token url to fetch access token.",
"type": "string"
},
"requestParameterOverride": {
"type": "object",
"description": "Specify parameter to override.",
"properties": {
"accessTokenField": {
"description": "Access token field name to override.",
"type": "string"
},
"refreshTokenField": {
"description": "Refresh token field name to override.",
"type": "string"
},
"expireInField": {
"description": "ExpireIn field name to override.",
"type": "string"
},
"authenticationMethod": {
"description": "Authentication method override.",
"type": "string",
"enum": [
"GET",
"POST"
]
},
"clientId": {
"description": "ClientId field name override.",
"type": "string"
},
"clientSecret": {
"description": "ClientSecret field name override.",
"type": "string"
}
}
}
},
"required": [
"accessToken"
]
}
}
authSpec.name
oAuth2-refresh-code
authSpec.type
oAuth2-refresh-code
authSpec.spec
authSpec.spec.$schema
http://json-schema.org/draft-07/schema#
authSpec.spec.type
object
authSpec.spec.properties
authSpec.spec.properties.description
authSpec.spec.properties.type
string
authSpec.spec.properties.clientId
authSpec.spec.properties.clientSecret
authSpec.spec.properties.accessToken
authSpec.spec.properties.refreshToken
authSpec.spec.properties.expirationDate
authSpec.spec.properties.refreshTokenUrl
authSpec.spec.properties.accessTokenUrl
authSpec.spec.properties.requestParameterOverride
authSpec.spec.required
accessToken
Einfache Authentifizierung
Die Standardauthentifizierung ist ein Authentifizierungstyp, mit dem Sie über eine Kombination aus Ihrem Kontonamen und Ihrem Kontokennwort auf Ihre Anwendung zugreifen können.
Beispiel für einfache Authentifizierung anzeigen
{
"name": "Basic Authentication",
"type": "BasicAuthentication",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "defines auth params required for connecting to rest service.",
"properties": {
"username": {
"description": "Username to connect rest endpoint.",
"type": "string"
},
"password": {
"description": "Password to connect rest endpoint.",
"type": "string",
"format": "password"
}
},
"required": [
"username",
"password"
]
}
}
authSpec.name
Basic Authentication
authSpec.type
BasicAuthentication
authSpec.spec
authSpec.spec.$schema
http://json-schema.org/draft-07/schema#
authSpec.spec.type
object
authSpec.spec.description
authSpec.spec.properties
authSpec.spec.properties.username
authSpec.spec.properties.password
authSpec.spec.required
username
API-Schlüsselauthentifizierung
Die API-Schlüsselauthentifizierung ist eine sichere Methode für den Zugriff auf APIs, indem in Anfragen ein API-Schlüssel und andere relevante Authentifizierungsparameter bereitgestellt werden. Abhängig von Ihren spezifischen API-Informationen können Sie den API-Schlüssel als Teil der Anfragekopfzeile, der Abfrageparameter oder des Hauptteils senden.
Die folgenden Parameter sind normalerweise bei der Verwendung der API-Schlüsselauthentifizierung erforderlich:
host
authKey1
authKey2
authKeyN
{
"name": "API Key Authentication",
"type": "KeyBased",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Define authentication parameters required for API access",
"properties": {
"host": {
"type": "string",
"description": "Enter resource URL host path"
},
"authKey1": {
"type": "string",
"format": "password",
"title": "Authentication Key 1",
"description": "Primary authentication key for accessing the API",
"restAttributes": {
"headerParamName": "X-Auth-Key1"
}
},
"authKey2": {
"type": "string",
"format": "password",
"title": "Authentication Key 2",
"description": "Secondary authentication key, if required",
"restAttributes": {
"headerParamName": "X-Auth-Key2"
}
},
..
..
"authKeyN": {
"type": "string",
"format": "password",
"title": "Additional Authentication Key",
"description": "Additional authentication keys as needed by the API",
"restAttributes": {
"headerParamName": "X-Auth-KeyN"
}
}
},
"required": [
"authKey1"
]
}
}
Authentifizierungsverhalten
Sie können den restAttributes
-Parameter verwenden, um zu definieren, wie der API-Schlüssel in die Anfrage aufgenommen werden soll. Im folgenden Beispiel zeigt das Attribut headerParamName
an, dass die X-Auth-Key1
als Kopfzeile gesendet werden soll.
"restAttributes": {
"headerParamName": "X-Auth-Key1"
}
Jeder Authentifizierungsschlüssel (z. B. authKey1
, authKey2
usw.) kann mit restAttributes
verknüpft werden, um anzugeben, wie sie als Anfragen gesendet werden.
Wenn authKey1
"headerParamName": "X-Auth-Key1"
hat. Das bedeutet, dass der Anfrage-Header X-Auth-Key:{YOUR_AUTH_KEY1}
enthalten sollte. Außerdem müssen der Schlüsselname und die headerParamName
nicht unbedingt identisch sein. z. B.:
- Der
authKey1
kannheaderParamName: X-Custom-Auth-Key
haben. Das bedeutet, dass der Anfrage-HeaderX-Custom-Auth-Key
anstelle vonauthKey1
verwendet. - Umgekehrt können
authKey1
headerParamName: authKey1
haben. Das bedeutet, dass der Name des Anfrage-Headers unverändert bleibt.
Beispiel-API-Format
GET /data?X-Auth-Key1={YOUR_AUTH_KEY1}&X-Auth-Key2={YOUR_AUTH_KEY2}
Beispiel-Authentifizierungsspezifikation
Im Folgenden finden Sie ein Beispiel für eine abgeschlossene Authentifizierungsspezifikation unter Verwendung einer MailChimp Members.
"authSpec": [
{
"name": "OAuth2 Refresh Code",
"type": "OAuth2RefreshCode",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "Define auth params required for connecting to generic rest using oauth2 authorization code.",
"properties": {
"authorizationTestUrl": {
"description": "Authorization test url to validate accessToken.",
"type": "string"
},
"accessToken": {
"description": "Access Token of mailChimp endpoint.",
"type": "string",
"format": "password"
}
},
"required": [
"accessToken"
]
}
},
{
"name": "Basic Authentication",
"type": "BasicAuthentication",
"spec": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"description": "defines auth params required for connecting to rest service.",
"properties": {
"username": {
"description": "Username to connect mailChimp endpoint.",
"type": "string"
},
"password": {
"description": "Password to connect mailChimp endpoint.",
"type": "string",
"format": "password"
}
},
"required": [
"username",
"password"
]
}
}
],
Nächste Schritte
Wenn Ihre Authentifizierungsspezifikationen ausgefüllt sind, können Sie mit der Konfiguration der Quellspezifikationen für die Quelle fortfahren, die Sie in Experience Platform integrieren möchten. Weitere Informationen finden Sie im Dokument Konfigurieren von Quellspezifikationen .