brainCloud permet aux développeurs de désactiver complètement certaines API client. Pour ce faire, il suffit de sélectionner les services et les appels d'API à bloquer directement depuis l'interface utilisateur, au lieu d'utiliser le pré-hook pour restreindre ces appels, ce qui génère des API supplémentaires pour l'application.
Une fois qu'une API désignée est restreinte, elle générera un code d'erreur 40346
lorsqu'elle sera invoquée du côté client comme ci-dessous.
{
"data": {},
"status": 403,
"statusMessage": "Processing exception (message): Call blocked from client.",
"reasonCode": 40346,
"stackTrace": "com.braincloud.common.ProcessingException: Call blocked from client.\n\tat com.braincloud.core.dispatcher.DispatchHandler.processMessage(DispatchHandler.java:211)\n\tat com.braincloud.core.dispatcher.LocalDispatcher.directCall(LocalDispatcher.java:332)\n\tat com.braincloud.core.dispatcher.DirectAPICallTask.run(DirectAPICallTask.java:88)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)\n\tat java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat java.base/java.lang.Thread.run(Thread.java:840)\n"
}
Notez que certains appels, comme les appels de devises Award()
, Consume()
et Reset()
, peuvent déjà être bloqués pour le client en fonction des paramètres de compatibilité sur la page Conception > Info de base de l'app > Réglages avancés .