Specification - create a public web service server
We want a fast REST server that anybody can request.
similar to the Hub implementation
We extend the Moodle REST server and overwrite the protected function authenticate_user().
install the web service functions + the pre-build service
- create a user (password + username could be set into the plugin admin by the admin)
- create a role with required capabilities by the web service function
- also set the webservice/user:rest for this role
- assign the role to the user on system context
- create a token for the service/user
PS: if install script is run before services.php script then you'll have to run it in the server when a public token is not found.
Extend the Moodle rest server.
- ignore any token parameter
- load the public token
- call the normal parent::authenticate_user();