Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

ユーザー API キーの作成と管理 - React Native SDK

項目一覧

  • React フック
  • ユーザー API キーの作成
  • ユーザー API キーの検索
  • API キーの有効化または無効化
  • API キーを削除する

ユーザー API キーを使用すると、デバイスやサービスはユーザーの認証情報を共有することなく、ユーザーに代わって App Services と通信できます。 ユーザー API キーは、認証されたユーザーはいつでも取り消すことができます。 ユーザー API キーは単独では期限切れになりません。

認証済みユーザーの ユーザー .apiKeys プロパティでアクセスする ApiKeyAuth クライアントでユーザー API キーを管理できます。

@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() に渡します。

SDK は、作成時にユーザー API キーの値を返します。 ログインに使用できるように、 key値を安全に保存してください。 keyの値を失うか保存しない場合、回復する方法はありません。 新しいユーザー API キーを作成する必要があります。

サーバー API キー または 匿名ユーザー のユーザー API キーを作成すること はできません 。

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

ユーザーのすべての API キーをリストする配列を取得するには、 ApiKeyAuth.fetchAll() を呼び出します。

特定の API キーを検索するには、キーの_idApiKeyAuth.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 キーを有効または無効にするには、キーの_idApiKeyAuth.enable()またはApiKeyAuth.disable()に渡します。 キーが無効になっている場合、ユーザーに代わってログインするために使用することはできません。

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

ユーザー API を永続的に削除するには、キーの_idApiKeyAuth.delete()に渡します。 削除されたキーは復元できません。

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

戻る

ユーザー ID のリンク