给定用户访问令牌,如何从 usergrid 检索用户配置文件?

Given a user access token, how to retrieve user profile from usergrid?

如果我有一个 usergrid 生成的用户访问令牌,我如何从中获取用户配置文件(用户名、组织等)信息?

我计划公开一个 REST api 服务,该服务将使用 usergrid 作为后端来存储多租户数据。

REST api 服务有一些业务逻辑,它将从 usergrid 查询数据,执行业务逻辑和 return 结果。

我认为此服务的用户将首先使用身份验证 api 进行身份验证(这是我计划公开的另一个 REST API)。他们会将他们的用户名和密码以及组织详细信息传递给身份验证 api,后者又会调用 usergrid 令牌 api 来验证用户并发回访问令牌作为对请求的响应。

对业务服务的后续请求api 将传递访问令牌。现在有了这个访问令牌,我想知道用户的详细信息,比如用户名,这样我就可以为该用户查询正确的数据(例如,应用 "where createdBY = :username" 之类的过滤条件)并将其提供给业务逻辑。

可能吗?

Usergrid 中有两种不同类型的用户:管理员用户和应用级用户。对于管理员级别的用户,您可以点击这样的端点以获取 orgs/apps 该管理员用户是以下的管理员:

获取 /management/users/username 或管理员用户的电子邮件?access_token=您的令牌在这里

根据您的描述,我认为您可能需要应用级用户。因为应用程序级别的用户是应用程序级别的用户,所以您必须指定组织和应用程序才能获取有关他们的信息。换句话说,它们存在于应用程序内部,处于如下所示的层次结构中:/org/app/users。如果您没有指定他们在哪个 org/app 中,系统将不知道从哪里寻找用户。此外,用户可以在多个应用程序中使用相同的电子邮件或用户名。因此您必须指定 org/app,但不必指定用户名或电子邮件。相反,使用 /me:

GET /org/app/users/me?access_token=你的代币在这里

系统将使用令牌确定引用了哪些用户。

当然上面的调用假设你有一个合适的前缀 http/https url:

在此处获取 https://api.usergrid.com/org/app/users/me?access_token=your 令牌