Я использую веб-сервис moodle. Я получаю токен из '/login/token.php', но после того, как я его получу, что мне с ним делать? Я не могу найти документацию о том, как получить идентификатор пользователя из этого токена или что-либо с ним сделать.
Moodle - Для чего использовать токен?
Ответы (4)
Токен — это ключ, который будет использоваться для аутентификации потребителя веб-сервиса, который будет его использовать. Он связан с каждой функцией веб-сервисов.
если у вас есть токен, используйте этот токен в сценарии client.php, чтобы проверить правильность вашего веб-сервиса или нет. всякий раз, когда пользователь использует этот веб-сервис, ему нужен этот токен. Каждая функция веб-службы имеет уникальный токен.
Чтобы сгенерировать токен из пользовательского интерфейса, просто зайдите в свой администратор сайта Moodle-> Плагины-> Веб-сервисы-> Управление токеном. затем добавьте свою функцию и создайте токен для этой конкретной функции.
Взгляните на function authenticate_user()
в moodle/webservice/lib.php, он содержит методы для аутентификации пользователя на основе имени и пароля или токена.
Это вызывает функцию function authenticate_by_token
. Это проверяет таблицу external_tokens
, чтобы увидеть, присутствует ли ваш токен, а затем находит пользователя для этого токена и возвращает объект аутентифицированного пользователя.
Я столкнулся с этой функцией при просмотре moodle/webservice/rest/server.php. Я использую стабильную версию Moodle 2.8.2+ (сборка: 20150123)
Не знаю, старо ли это, но сам наткнулся на это. Может быть, это может помочь и другим людям.
После того, как вы получите токен, вы должны указать его в своих вызовах API. Итак, допустим, вы добавили функцию для получения всех курсов, тогда вы можете получить курсы со следующим URL-адресом REST:
/moodle/webservice/rest/server.php?wstoken=d4ffd83ce0e2602a458b44e16634ab17&wsfunction=core_course_get_courses
Где wstoken — это токен, который вы получили. wsfuntion — это имя сервисной функции.
Я нашел полезный список сервисных функций в системе moodle:
moodle/admin/webservice/documentation.php
Здесь можно увидеть аргументы и возвращаемые значения.