Usando servicios web
Nota: Pendiente de Traducir. ¡Anímese a traducir esta página!. ( y otras páginas pendientes)
Este documento explica como un administrador puede configurar un Servicio web (Web Service) para que los usuarios puedan acceder a un servicio. Cada usuario tendrá una clave de seguridad (también conocida como Token) única y específica para acceder a un servicio.
Habilitar servicios web
- Administración del sitio > Opciones avanzadas
- Marque la casilla de verificación 'Habilitar servicios' y luego haga clic en el botón 'Guardar cambios'.
Note: por razones de seguridad los Servicio Web solo deben estar habilitados si se los protende utilizar, de o contrario recomendamos mantenerlos deshabilitados.
Habilitar protocolos
Usualmente las aplicación externas que los usuarios desean utilizar definen cuales protolocos se deben habilitar.
- Administración dle sitio > Extensiones > Servicios Web > Administrar protocolos
- Activar los protocolos que se requieran (SOAP, REST, XMLRPC, AMF, ...).
Auto-generación de documentación
Enabling web service function documentation (also on the Manage protocols page) results in user-specific web service documentation being available for each user on their Claves de seguridad page. This option is mainly useful to web service client developers. If nobody is creating a web service client, there is no need to enable this feature.
Crear un servicio
If none of the pre-build web services match your needs, you can create a custom service i.e. select which of the standard web service functions are available via that service.
You can enable only the specific functions that you need to expose, so not compromising on security.
- Access Settings > Site administration > Plugins > Web services > External services
- Click Add new custom service
- 'Authorised users only' - If enabled, you will need to select the authorised users manually. Otherwise all users with appropriate permissions are allowed
- 'Required capability' - If enabled, any user accessing the web service will be checked against this selected capability. (This is just an additional optional security layer.)
- Enter a name and check Enabled
- Click the button 'Add service'
Adding functions to the service
Your service is currently empty and doesn't do anything. Web service functions need to be added. Your choice will be dictated by what you allow the external application to do. For this example, select 'Create group'.
- Click 'Add functions' link
- Select 'create group' function and click the 'Add functions' button
You should be back to the service functions list. 'Required capabilities' are indicated for each function. Users need the required capabilities to run a function. The function descriptions in the API Documentation can also give you more information about the required capabilities (Settings > Site administration > Plugins > Web services > API Documentation).
Habilitar capacidades
The final step is to grant appropriate permissions. The following capabilities should be allowed:
- moodle/webservice:createtoken - for allowing users to generate a security key
- webservice/rest:use, webservice/soap:use, webservice/xmlrpc:use, webservice/amf:use which match the enabled protocols.
- The service Required capability if set (Settings > Site administration > Plugins > Web services > Manage services >Edit link).
- The required capabilities for the web service functions. These required capabilities are listed when you add a function to the service. For more information about roles and capabilities, read the Gestionar roles documentation.
Once done, the web service should be set up. Users should be able to obtener una clave de seguridad personal.
Configuraciones alternativas
Authorise only specific users
- Settings > Site Administration > Plugins > Web services > External Services
- Select Authorised users link (the service must have been set as Authorised users only in the Edit link)
- Select some users and click Add
Moodle indicates if some capabilities need to be assigned to an authorised user. Moreover if you click on the authorised user fullname, you can set up some specific options: IP restriction and Valid until.
Crar un token
Esta característica le permite crear un token para un usuario específico. It can be useful if a user doesn't have the moodle/create:token capability. This is also the only way to create a token for an administrator. For security reason, tokens are not automatically generated in the administrator security keys page.
- Settings > Site Administration > Plugins > Web services > Manage tokens
- Click on Add
- Select the created user and service
- Click on Saves changes
As you created a token for this user, you do not need to assign "moodle/webservice:createtoken" to him/her. Finally, note that, as for authorised users, you can also set IP restriction and Valid until on a token.