Frappe Framework
Authentification par jeton (token)
Chaque requête porte la clé d’API et le secret, en token ou en Basic. Un jeton OAuth 2 s’envoie en Bearer. Les droits sont ceux de l’utilisateur choisi.
Depuis la version 11.0.3
L’en-tête HTTP Authorization porte les identifiants. Il contient le type, token ou Basic, puis le jeton : Authorization: <type> <token>. Le jeton est la clé d’API et le secret joints par deux-points. La génération des clés est aussi décrite dans Authentification par jeton.
Générer les clés
- Ouvrez un utilisateur dans la liste User.
- Onglet Settings, s’il y a des onglets.
- Dépliez API Access et cliquez sur Generate Keys.
- Une fenêtre montre l’API Secret. Copiez-le et conservez-le, par exemple dans un gestionnaire de mots de passe.
- Le champ API Key apparaît dans la même section.
Chaque requête faite avec ces clés est journalisée sur l’utilisateur de l’étape 1. Ses rôles sont contrôlés. On peut créer un utilisateur réservé aux appels d’API.
Trois en-têtes
Token :
Authorization: token <api_key>:<api_secret>L’exemple Python interroge http://frappe.local:8000/api/method/frappe.auth.get_logged_user.
Basic : la chaîne <api_key>:<api_secret> est encodée en base64.
Authorization: Basic base64encode("<api_key>:<api_secret>")L’URL de cet exemple publié contient des astérisques autour du chemin : http://frappe.local:8000**/api/method/frappe.auth.get_logged_user**.
Bearer : jeton d’accès OAuth 2 opaque, fourni par le serveur après la configuration OAuth 2. La source renvoie vers le guide OAuth 2, ici OAuth 2.
Authorization: Bearer access_tokenLa même URL à astérisques est reprise dans l’exemple Bearer.
Point d’attention
Le secret n’est montré qu’une fois, dans la fenêtre Generate Keys. Les rôles appliqués sont ceux de l’utilisateur dont les clés ont été générées, pas ceux de l’appelant.
