Docs 菜单
Docs 主页
/ /
Atlas Device SDKs
/ /

创建和管理用户 API 密钥 — Web SDK

在此页面上

  • 概述
  • 创建用户 API 密钥。
  • 查找用户 API 密钥
  • 启用或禁用 API 密钥
  • 删除 API 密钥。

您可以使用 Web SDK 来创建和管理用户 API 密钥,从而允许服务代表现有用户登录您的应用程序并与之交互,而无需用户重新进行身份验证。

用户 API 密钥作为API 密钥身份验证提供者的一部分进行管理,但只能为与其他非匿名身份验证提供者关联的用户创建。

Web SDK 中的用户对象包括一个 ApiKeyAuth对象,该对象公开使用该用户的 API 密钥的方法。

要创建新的用户 API 密钥,请使用密钥的标识名称调用ApiKeyAuth.create() 。 该名称必须是在用户的所有 API 密钥中唯一的字符串。

警告

存储 API 密钥值

SDK 仅在您创建用户 API 密钥时返回该密钥的值。 请确保安全存储key值,以便使用它登录。

如果丢失或未存储key值,则无法恢复。 您需要创建新的用户 API 密钥。

const user = app.currentUser;
const key = await user.apiKeys.create("myApiKey");

要获取列出用户所有 API 密钥的数组,请调用ApiKeyAuth.fetchAll() 。 您还可以使用密钥的_id调用ApiKeyAuth.fetch()来查找特定的 API 密钥。

const user = app.currentUser;
// List all of a user's keys
const keys = await user.apiKeys.fetchAll();
// Get a specific key by its ID
const key = await user.apiKeys.fetch(API_KEY_ID);

您可以通过使用密钥的_id调用ApiKeyAuth.enable()ApiKeyAuth.disable()来启用或禁用用户 API 密钥。 禁用密钥后,将无法使用该密钥代表用户登录。

// Get the ID of a User API Key
const user = app.currentUser;
const apiKeys = await user.apiKeys.fetchAll();
const keyId = apiKeys[0]["_id"];
// Enable the User API Key
await user.apiKeys.enable(keyId);
// Disable the User API Key
await user.apiKeys.disable(keyId);

您可以通过使用密钥的_id调用ApiKeyAuth.delete()来永久删除用户 API 密钥。 已删除的密钥无法再用于代表用户登录。

// Get the ID of a User API Key
const user = app.currentUser;
const apiKeys = await user.apiKeys.fetchAll();
const keyId = apiKeys.find((key) => key.name === "apiKeyToDelete")._id;
// Delete the User API Key
await user.apiKeys.delete(keyId);

后退

关联用户身份

来年

查询 MongoDB