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

创建和管理用户 API 密钥 - React Native SDK

在此页面上

  • React钩子
  • 创建用户 API 密钥。
  • 查找用户 API 密钥
  • 启用或禁用 API 密钥
  • 删除 API 密钥。

用户 API 密钥允许设备或服务代表用户与 App Services 通信,而无需共享该用户档案。 经过身份验证的用户可以随时撤销用户 API 密钥。 用户 API 密钥不会自行过期。

您可以使用 ApiKeyAuth客户端来管理用户API密钥,而该客户端可通过经过身份验证的用户的User.apiKeys属性进行访问。

如果您使用的是 @realm/react ,则可以使用UserProvider包装的组件中的useUser()钩子来访问用户的ApiKeyAuth客户端。

import {useUser} from '@realm/react';
const user = useUser();
const createUserApiKey = async () => {
const {_id, key, name, disabled} = await user?.apiKeys.create(apiKeyName);
// ...Do something with API key like save it
// or share it with external service that authenticates
// on user's behalf.
};

要创建新的用户 API 密钥,请将在所有用户 API 密钥中唯一的名称传递给ApiKeyAuth.create()。

在您创建用户 API 密钥时,SDK 会返回该密钥的值。 请确保安全存储key值,以便使用它登录。 如果丢失或未存储key值,则无法恢复。 您需要创建新的用户 API 密钥。

无法服务器API密钥匿名用户创建用户API密钥。

const {_id, key, name, disabled} = await user?.apiKeys.create(apiKeyName);

要获取列出用户所有 API 密钥的数组,请调用ApiKeyAuth.fetchAll()。

要查找特定 API 密钥,请将密钥的_id传递给ApiKeyAuth.fetch()。

const getUserApiKey = async () => {
// 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(apiKey!._id);
};

要启用或禁用用户 API 密钥,请将密钥的_id传递给ApiKeyAuth.enable()ApiKeyAuth.disable() 。 禁用密钥后,将无法使用该密钥代表用户登录。

await user!.apiKeys.enable(cloudApiKey!._id);
await user!.apiKeys.disable(cloudApiKey!._id);

要永久删除用户 API,请将密钥的_id传递给ApiKeyAuth.delete() 。 已删除的密钥无法恢复。

await user!.apiKeys.delete(cloudApiKey!._id);

后退

关联用户身份