Pour certaines raisons de sécurité, vous souhaiterez peut-être restreindre l'accès de votre serveur aux appels d'API S2S limités de brainCloud. Cet article vous montrera comment utiliser brainCloud API Hook pour y parvenir.
Étape 1 : Créer un script de pré-accrochage
- Créez un script appelé - RestrictS2SCalls- "use strict"; 
 function main() {
 var response = false;
 bridge.logDebugJson("script input...", data);
 // appliquer des restrictions si cet appel ne provient pas *de l'intérieur* d'un script cloud-code
 if ( !data.message.ccCall) {
 var listtype = data.parms.listtype;
 var services = data.parms.services;
 // la réponse par défaut diffère selon le type de liste
 if (listtype == "whitelist") {
 response = false;
 } else {
 response = true;
 }
 // vérifier si le service est répertorié
 if (services.hasOwnProperty(data.service)) {
 var ops = services[data.service];
 // vérifier les opérations répertoriées dans le service
 if (Object.keys(ops).length > 0) {
 if (ops.hasOwnProperty(data.operation)) {
 response = (listtype == "whitelist");
 }
 } else {
 // si aucune opération, cela signifie tous...
 response = (listtype == "whitelist");
 }
 }
 } else {
 response = true;
 }
 return response;
 }
 main();
Étape 2 : Connecter le script
Ouvrez la page Conception | Code Cloud | Crochets API et pré-accrochez le script que vous avez créé à l’étape précédente avec les paramètres suivants pour S2SDispatcherle service processMessageOperation.
{
    "listtype": "blocklist",
    "services": {
        "user": {
            "SYS_GET_PAGE": 1
        },
        "globalEntity": {
            "GET_LIST": 1,
            "GET_LIST_COUNT": 1
        },
        "script": {}
    }
}
- Cet exemple bloquera les appels d'API/d'opération spécifiés à partir des - userservices- globalEntityet, ainsi que toutes les API du- scriptservice. Vous pouvez les modifier à votre guise. Recherchez le service et l'opération à partir de la référence d'API brainCloud. Notez également que vous pouvez modifier le- listtypehook to- whitelistpour que ce hook n'autorise que les appels à partir des services et opérations répertoriés.
Étape 3 : Test
- Appelez les API/opérations bloquées depuis brainCloud - S2S Explorerou depuis votre serveur S2S. Si les API/opérations sont répertoriées dans votre- blocklist, vous devriez obtenir une réponse similaire à la suivante.- {
 "reason_code": 40639,
 "status_message": "Processing exception: Api call rejected for service: globalEntity - operation: GET_LIST",
 "status": 500
 }



