1

我正在使用 moodle 网络服务。我从 '/login/token.php' 得到一个令牌,但是在我得到它之后,我该怎么办?我找不到有关如何从该令牌获取用户 ID 或对其执行任何操作的文档。

4

4 回答 4

1

令牌是用作验证将要使用它的 Web 服务消费者的密钥。它与 Web 服务的每个功能相关联。

于 2013-11-05T10:21:54.240 回答
1

查看moodle/webservice/lib.phpfunction authenticate_user()中的内容,其中包含基于名称+密码或令牌对用户进行身份验证的方法。

这称为function authenticate_by_token. 这将检查external_tokens表以查看您的令牌是否存在,然后找出该令牌的用户并返回经过身份验证的用户对象。

我在浏览moodle/webservice/rest/server.php时使用了这个功能。我正在使用 moodle 稳定版2.8.2+(内部版本:20150123)

于 2015-02-16T04:26:56.460 回答
1

如果您有令牌,则在 client.php 脚本上使用此令牌来检查您的 Web 服务是否正确。每当用户使用此 Web 服务时,他/她就需要该令牌。每个 Web 服务功能都有一个唯一的令牌。

要从 UI 生成令牌,只需在您的 Moodle 站点管理员->插件->Web 服务->管理令牌中进行。然后添加您的函数并为该特定函数生成令牌。

于 2013-11-07T13:50:01.957 回答
1

不知道这是否过时了,但我自己偶然发现了它。也许这也可以帮助其他人。

获得令牌后,您必须在 API 调用中提供它。假设您已经添加了获取所有课程的功能,那么您可以通过以下 REST URL 获取课程:

/moodle/webservice/rest/server.php?wstoken=d4ffd83ce0e2602a458b44e16634ab17&wsfunction=core_course_get_courses

wtoken 是你得到的令牌。wsfuntion 是服务函数的名称。

我在 Moodle 系统中找到了一个有用的服务功能列表:

moodle/admin/webservice/documentation.php

在这里可以看到参数和返回值。

于 2016-08-02T07:21:18.253 回答