我正在使用moodle Web服务。 我从'/login/token.php'获得一个令牌,但是在我拥有它之后,我该怎么办呢?我找不到有关如何从该令牌获取用户标识的文档,或者对其执行任何操作。
答案 0 :(得分:1)
令牌是用作将要使用它的Web服务使用者的身份验证的密钥。 它与Web服务的每个功能相关联。
答案 1 :(得分:1)
如果您有令牌,则在client.php脚本上使用此令牌来检查您的Web服务是否正确。 每当用户使用该Web服务时,他/她就需要该令牌。每个Web服务功能都有一个唯一的令牌。
要从UI生成令牌,只需在moodle站点管理员 - >插件 - > web服务 - >管理令牌中进行操作。然后添加你的函数并为该特定函数生成令牌。
答案 2 :(得分:1)
查看 moodle / webservice / lib.php 中的function authenticate_user()
,其中包含根据名称+密码或令牌对用户进行身份验证的方法。
这会调用function authenticate_by_token
。这将检查external_tokens
表以查看您的令牌是否存在,然后找出该令牌的用户并返回经过身份验证的用户对象。
我在浏览 moodle / webservice / rest / server.php 时登陆了这个功能。我正在使用moodle稳定版 2.8.2+(Build:20150123)
答案 3 :(得分:1)
不知道这是否已经过时了,但我自己也搞砸了。也许这也可以帮助其他人。
获得令牌后,您必须在API调用中提供令牌。因此,假设您已添加了获取所有课程的功能,那么您可以使用以下REST URL获取课程:
/moodle/webservice/rest/server.php?wstoken=d4ffd83ce0e2602a458b44e16634ab17&wsfunction=core_course_get_courses
wstoken是你获得的令牌。 wsfuntion是服务功能的名称。
我在moodle系统中找到了一个有用的服务功能列表:
moodle/admin/webservice/documentation.php
这里可以看到参数和返回值。