Mon petit doigt me dit l'inverse
Trêve de plaisanteries, ça fait partie des décisions très difficiles à prendre a priori. Surtout tant qu'on a une vue partielle de l'API et de son usage.
J'ai cité vaguement plein de cas qui pourraient poser des soucis, sans vraiment savoir s'ils peuvent se produire.
La question déterminante selon moi c'est "Est-ce-qu'un membre du staff a accès à plus de fonctions sur l'API qu'un simple membre authentifié" "Est-ce-que certaines fonctions (primitives) de l'API sont différentes en fonction de la nature de la personne authentifiée". Troisième question déterminante : est-ce-qu'en tant que staff, il se peut que je veuille exécuter des actions ou consulter des données en tant que simple membre ? (c'est rare, mais ça arrive, et c'est un choix crucial)
Si la réponse à ces questions est oui, alors je pense qu'il est indispensable d'avoir une API à part pour éviter :
-
un plat de spaghetti côté serveur
-
des cas d'utilisation / rapports de bugs assez complexes à analyser "j'étais loggé en tant que XXX, j'ai fait tel appel API"
C'est presque dommage qu'on soit si peu à débattre de ce problème, parce qu'il relève (malheureusement) de l'intuition et de l'anticipation de futures utilisations de l'API. Et je serais ravi de voir quelqu'un débarquer en disant "la solution 1 (ou 2) ne fonctionnera pas parce que […]".
Cela dit c'est vrai que ce n'est pas bloquant, mais c'est un vrai choix de design. N'hésitez pas à donner vos avis, c'est assez important.
@Andr0 : je ne comprends pas ton doute, est-ce-que tu peux détailler ?