Vous êtes ici :
Utilisation de fonctions de formule d'identifiant nommé dans des en-têtes personnalisés
Des fonctions de formule peuvent être utilisées dans le champ de valeur d'un en-tête personnalisé d'un identifiant nommé ou d'un identifiant externe.
Éditions requises
| Disponible avec : Salesforce Classic (pas disponible dans toutes les organisations) et Lightning Experience |
| Disponible avec : toutes les éditions |
Un BLOB (binary large object) est une collection de données binaire stockées en tant qu'entité unique. Pour les identifiants nommés, le BLOB peut stocker un code exécutable binaire utilisé dans des formules d'en-tête personnalisé. Consultez Création et modification d'en-têtes personnalisés.
Les champs de formule peuvent contenir jusqu'à 3900 caractères, y compris des espaces, des retours chariot et des commentaires. Si votre formule nécessite davantage de caractères, créez des champs de formule séparés, puis référencez-les dans un autre champ de formule. Le nombre maximal de caractères affichés après une évaluation d'une expression de formule est de 1300, ce qui peut tronquer des jetons d'accès dans des en-têtes personnalisés.
| Fonction | Description |
|---|---|
| BASE64DECODE(expr) |
|
| BASE64ENCODE(expr) |
|
| BLOB(expr) |
|
| HASH(algorithm, expr) |
|
| HEX(expr) |
|
| HMAC(algorithm, valueToSign, secretSigningKey) |
|
| SIGN(algorithmName, input, privateKey) |
|
| SIGN_WITH_CERTIFICATE(algorithmName, input, certDevName) |
|
Exemples
-
Cet exemple montre l'encodage d'un nom d'utilisateur et d'un mot de passe stockés dans un identifiant externe. La fonction
BLOBconvertit d'abord une chaîne de formulaire username:password en binaire.BASE64ENCODEconvertit ensuite le binaire en chaîne codée.myExternalCredentialest le nom d'un identifiant externe.BASE64ENCODE(BLOB($Credential.myExternalCredential.Username & ':' & $Credential.myExternalCredential.Password)) -
Cet exemple définit un en-tête nommé
X-Usernameavec un nom d'utilisateur haché en base-16, SHA-256 comme valeur.reqest unHTTPRequest.Usernameest un paramètre d'authentification joint à un principal.req.setHeader('X-Username', '{!HEX(HASH(\'SHA-256\', BLOB($Credential.myExternalCredential.Username)))}'); -
Cet exemple définit l'en-tête
X-Bodyen tant que corps évalué haché de base-16, ce qui signifie que toutes les formules du corps de requête sont évaluées. LaBLOBn'est pas requise ici, car$Credential.myExternalCredential.Bodyest renvoyée en tant que type BLOB plutôt qu'en tant que Chaîne.req.setHeader('X-Body', '{!HEX(HASH(\'SHA-256\', $Credential.myExternalCredential.Body))}');

