New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Doryphore: Bazar API #708
Comments
@srosset81 une idée pour le 401? j'ai pareil en local |
Hello, |
Trop cool, merci Adrien !! |
En fait, en y repensant je pense qu'on devrait activer les APIs par défaut en mode public, car c'est ce qui était le cas à présent. Sinon ça risque de faire péter ds trucs un peu partout. Là genre j'ai une carte gogocarto qui importe dynamiquement depuis un wiki, et là va falloir expliquer à la personne qui gère le wiki qu'elle doit aller bidouiller le wakka config (sachant qu'elle sait probablement pas ce que c'est, car c'est pas elle qui l'a installé) T'en penses quoi @acheype ? |
Je crois que l'API a été désactivée par défaut car elle revoit toutes les fiches avec tous les champs sans prendre en compte les droits. |
oui, peut-être voir avec les annotations et rajouter public_acces true|false ? |
Je serais plus partisan de rendre les méthodes GET sans Bearer par défaut mais les méthodes PUT, PATCH et DELETE uniquement avec Bearer ET de faire un audit de toutes les routes api pour s'assurer qu'il y a un checkACL avant d'envoyer les données sensibles. |
C'est sans doute plus simple a coder de différencier par méthode http, mais pour moi ya des exemple de POST qui pourraient etre ouverts, et des GET fermés (surtout si derriere on mets des checkacl), l'un des usages serait de pouvoir ajouter des fiches ou des triples en ajax. Une autre approche serait d'avoir des acls pour les routes d'api, comme pour les handlers, actions, et pages. |
J'aime bien l'idée des routes liées à une définition par acl dans les triples. |
On y repensant je pense que de définir des droits par défaut dans les annotations est pas mal, ca marche "out of the box" avec des droits qui peuvent être compliqués. |
Yop ! Les routes pour récupérer les fiches (entries) |
Pour être sûr d'avoir compris, tu souhaites faire des requêtes GET sur les routes suivantes en ayant défini les cookies avec Est-ce bien ceci ?
|
peu importe qu'il y ait des cookies de connexion ou non, c'est la meme url non? |
oui, je pense qu'on peut laisser la plupart des requêtes GET ouvertes, mais en effets les droits s'appliquent : seules les infos non protégées arrivent si t'as pas les bons droits (tu pourrais envoyer un code http 206 au lieu de 200, pour dire Partial Content ) edit: ah non, ce code sert a découper en plusieures requetes.. c'est pas bon.. cf. https://developer.mozilla.org/fr/docs/Web/HTTP/Status/206 je ne sais pas comment on signifie que les données n'affichent pas tout.. ca serait a creuser du coup, peut etre une reponse genre {
"infos": [
{
"warning": "Some contents are hidden due of lack permissions"
}
],
"data": [
{
"fiche1": {},
"fiche2": {},
"fiche3": {}
}
]
} |
Du coup, s'il faut ouvrir les routes cités en GET en public, il est absolument nécessaire de les réécrire pour faire le tri dans les données quelles renvoient en fonction de si on est connecté en admin ou non. |
C'est la même url effectivement, juste le contenu qui sera différent dans la réponse. |
Moi j'ai besoin de rien hein, je dis juste qu'avec le blocage par défaut des apis y'a des liens entre des yeswiki et des gogocarto qui ont été cassé. Après chaque yeswiki utilise ses apis différemment j'imagine |
Ah OK, je vois tu parles des boutons dans le formulaire bazar et des liens entre YesWiki et Gogocarto. |
C'est corrigé avec la dernière release Doryphore. |
Super ça fonctionne, merci ! |
toutes les url commençant par
?api
renvoient une 401. https://gogowiki.teritorio.xyz/?api/fiche/1Et depuis le dashboard bazar, le lien vers l'api JSON est incorrect, il renvoie vers
?api/fiche/FORM_ID
au lieu de?api/form/FORM_ID
The text was updated successfully, but these errors were encountered: