Configurare le specifiche di autenticazione per le origini self-service (Batch SDK)
Creato per:
- Sviluppatore
Le specifiche di autenticazione definiscono il modo in cui gli utenti di Adobe Experience Platform possono connettersi all’origine.
L'array authSpec
contiene informazioni sui parametri di autenticazione necessari per connettere un'origine ad Experience Platform. Qualsiasi origine può supportare più tipi diversi di autenticazione.
Specifiche di autenticazione
Origini self-service (Batch SDK) supporta i codici di aggiornamento OAuth 2 e l’autenticazione di base. Consulta le tabelle seguenti per indicazioni sull’utilizzo di un codice di aggiornamento OAuth 2 e di un’autenticazione di base
Codice di aggiornamento OAuth 2
Un codice di aggiornamento OAuth 2 consente l’accesso sicuro a un’applicazione generando un token di accesso temporaneo e un token di aggiornamento. Il token di accesso ti consente di accedere in modo sicuro alle risorse senza dover fornire altre credenziali, mentre il token di aggiornamento ti consente di generare un nuovo token di accesso, una volta scaduto il token di accesso.
{
"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"
]
}
}
Proprietà | Descrizione | Esempio |
---|---|---|
authSpec.name | Visualizza il nome del tipo di autenticazione supportato. | oAuth2-refresh-code |
authSpec.type | Definisce il tipo di autenticazione supportato dall'origine. | oAuth2-refresh-code |
authSpec.spec | Contiene informazioni sullo schema, il tipo di dati e le proprietà dell’autenticazione. | |
authSpec.spec.$schema | Definisce lo schema utilizzato per l’autenticazione. | http://json-schema.org/draft-07/schema# |
authSpec.spec.type | Definisce il tipo di dati dello schema. | object |
authSpec.spec.properties | Contiene informazioni sulle credenziali utilizzate per l’autenticazione. | |
authSpec.spec.properties.description | Visualizza una breve descrizione delle credenziali. | |
authSpec.spec.properties.type | Definisce il tipo di dati delle credenziali. | string |
authSpec.spec.properties.clientId | L’ID client associato all’applicazione. L’ID client viene utilizzato insieme al segreto client per recuperare il token di accesso. | |
authSpec.spec.properties.clientSecret | Il segreto client associato all’applicazione. Il segreto client viene utilizzato insieme all’ID client per recuperare il token di accesso. | |
authSpec.spec.properties.accessToken | Il token di accesso autorizza l’accesso sicuro all’applicazione. | |
authSpec.spec.properties.refreshToken | Il token di aggiornamento viene utilizzato per generare un nuovo token di accesso, alla scadenza del token. | |
authSpec.spec.properties.expirationDate | Definisce la data di scadenza del token di accesso. | |
authSpec.spec.properties.refreshTokenUrl | URL utilizzato per recuperare il token di aggiornamento. | |
authSpec.spec.properties.accessTokenUrl | URL utilizzato per recuperare il token di aggiornamento. | |
authSpec.spec.properties.requestParameterOverride | Consente di specificare i parametri delle credenziali da ignorare durante l'autenticazione. | |
authSpec.spec.required | Visualizza le credenziali necessarie per l'autenticazione. | accessToken |
Autenticazione di base
L’autenticazione di base è un tipo di autenticazione che ti consente di accedere all’applicazione utilizzando una combinazione del nome utente dell’account e della password dell’account.
{
"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
Autenticazione chiave API
L’autenticazione tramite chiave API è un metodo sicuro per accedere alle API, fornendo una chiave API e altri parametri di autenticazione rilevanti nelle richieste. A seconda delle informazioni API specifiche, puoi inviare la chiave API come parte dell’intestazione della richiesta, dei parametri della query o del corpo.
I seguenti parametri sono generalmente necessari quando si utilizza l’autenticazione con chiave API:
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"
]
}
}
Comportamento di autenticazione
È possibile utilizzare il parametro restAttributes
per definire la modalità di inclusione della chiave API nella richiesta. Ad esempio, nell'esempio seguente, l'attributo headerParamName
indica che X-Auth-Key1
deve essere inviato come intestazione.
"restAttributes": {
"headerParamName": "X-Auth-Key1"
}
Ogni chiave di autenticazione (ad esempio authKey1
, authKey2
e così via) può essere associata a restAttributes
per determinare la modalità di invio come richieste.
Se authKey1
ha "headerParamName": "X-Auth-Key1"
. L'intestazione della richiesta deve quindi includere X-Auth-Key:{YOUR_AUTH_KEY1}
. Inoltre, il nome della chiave e headerParamName
non devono necessariamente essere uguali. Ad esempio:
authKey1
può avereheaderParamName: X-Custom-Auth-Key
. Ciò significa che l'intestazione della richiesta utilizzeràX-Custom-Auth-Key
invece diauthKey1
.authKey1
può invece avereheaderParamName: authKey1
. Ciò significa che il nome dell’intestazione della richiesta rimane invariato.
Esempio di formato API
GET /data?X-Auth-Key1={YOUR_AUTH_KEY1}&X-Auth-Key2={YOUR_AUTH_KEY2}
Esempio di specifica di autenticazione
Di seguito è riportato un esempio di specifica di autenticazione completata che utilizza un'origine 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"
]
}
}
],
Passaggi successivi
Con le specifiche di autenticazione compilate, puoi procedere alla configurazione delle specifiche di origine per l’origine che desideri integrare in Experience Platform. Per ulteriori informazioni, vedere il documento sulla configurazione delle specifiche di origine.