Utilisation des services Web

Modèle:Services web

Ce document explique comment un administrateur peut configurer un service Web pour que les utilisateurs puissent accéder à un service. Chaque utilisateur disposera d'une clé de sécurité spécifique et unique (également appelée "jeton") pour accéder au service.

Activation des services Web

Activation des services Web
  1. Accès Administration du site > Fonctions avancées.
  2. Cochez "Activer les services Web" puis cliquez sur "Enregistrer les modifications".

Remarque : Pour des raisons de sécurité, les services Web ne doivent être activés que si vous avez l'intention de les utiliser.

Activer les protocoles

Activer les protocoles

Habituellement, les applications externes que les utilisateurs souhaitent utiliser dictent quels protocoles doivent être activés.

  1. Accès Administration du site > Plugins > Services Web > Gestion des protocoles.
  2. Activer les protocoles (SOAP, REST, XMLRPC, AMF, ...) selon les besoins.

Activation de la documentation de la fonction de service Web

Page des clés de sécurité avec lien vers la documentation

L'activation de la documentation des fonctions de service Web (également sur la page Gestion des protocoles) a pour résultat que la documentation du service Web spécifique à l'utilisateur est disponible pour chaque utilisateur sur sa page (Touches de sécurité). Cette option est principalement utile aux développeurs de clients de services web. Si personne ne crée un client de service Web, il n'est pas nécessaire d'activer cette fonctionnalité.

Créer un service

Si aucun des services Web pré-construits ne correspond à vos besoins, vous pouvez créer un service personnalisé, c'est-à-dire sélectionner les fonctions du service Web standard qui sont disponibles via ce service.

Vous ne pouvez activer que les fonctions spécifiques que vous devez exposer, sans compromettre la sécurité.

Créer un service
  1. Accès Administration du site > Plugins > Services Web > Services externes.
  2. Cliquez sur Ajouter un nouveau service personnalisé
    • "Utilisateurs autorisés seulement" Si cette option est activée, vous devrez sélectionner les utilisateurs autorisés manuellement. Sinon, tous les utilisateurs disposant des permissions appropriées sont autorisés.
    • "Capacité requise" Si cette option est activée, tout utilisateur accédant au service Web sera vérifié par rapport à cette capacité sélectionnée. (Ce n'est qu'une couche de sécurité optionnelle supplémentaire.)
  3. Entrez un nom et cochez Activé
  4. Cliquez sur le bouton "Ajouter un service".

Ajout de fonctions au service

Ajout de fonctions au service

Votre service est actuellement vide et ne fait rien. Des fonctions de service Web doivent être ajoutées. Votre choix sera dicté par ce que vous autorisez l'application externe à faire. Pour cet exemple, sélectionnez "Créer un groupe".

  1. Cliquez sur le lien "Ajouter des fonctions"
  2. Sélectionnez la fonction "Créer un groupe" et cliquez sur le bouton "Ajouter des fonctions".

Notez que les fonctions obsolètes ne peuvent pas être ajoutées aux services bien que celles qui font déjà partie d'un service puissent y rester jusqu'à ce qu'elles soient supprimées de la base de code Moodle.

Vous devriez être de retour à la liste des fonctions de service. Les "Capacités requises" sont indiquées pour chaque fonction. Les utilisateurs ont besoin des capacités requises pour exécuter une fonction. Les descriptions de fonctions dans la documentation API peuvent également vous donner plus d'informations sur les fonctionnalités requises (Administration du site > Plugins > Services Web > Documentation API).

Activer les capacités

L'étape finale consiste à accorder les permissions appropriées. Les capacités suivantes devraient être autorisées :

Une fois terminé, le service web devrait être mis en place. Les utilisateurs doivent pouvoir obtenir une clé de sécurité personnelle obtenir une touche de sécurité personnelle.

Réglages alternatifs

N'autoriser que des utilisateurs spécifiques

Externalservice.png
Authorisedusers.png
  1. Administration du site > Plugins > Services Web > Services externes.
  2. Sélectionnez le lien "Utilisateurs autorisés" (le service doit avoir été défini comme "Utilisateurs autorisés seulement" dans le lien "Modifier").
  3. Sélectionnez quelques utilisateurs et cliquez sur Ajouter.

Moodle indique si certaines fonctionnalités doivent être attribuées à un utilisateur autorisé. De plus, si vous cliquez sur le nom complet de l'utilisateur autorisé, vous pouvez configurer certaines options spécifiques : "Restriction IP" et "Valable jusqu'au".

Créer un jeton

Createtoken.png

Cette fonction vous permet de créer un jeton pour un utilisateur spécifique. Il peut être utile si un utilisateur n'a pas la capacité moodle/create:token. C'est aussi la seule façon de créer un jeton pour un administrateur. Pour des raisons de sécurité, les jetons ne sont pas générés automatiquement dans la page des clés de sécurité administrateur.

  1. Administration du site > Plugins > Services Web > Gestion des jetons.
  2. Cliquez sur Ajouter.
  3. Sélectionnez l'utilisateur et le service créés
  4. Cliquez sur Enregistrer les modifications.

Comme vous avez créé un jeton pour cet utilisateur, vous n'avez pas besoin de lui assigner "moodle/webservice:createtoken". Enfin, notez que, comme pour les utilisateurs autorisés, vous pouvez également définir sur un jeton Restriction IP et Valable jusqu'au.

Voir aussi