ユーザー API キーの作成と管理 - React Native SDK
ユーザー API キーを使用すると、デバイスやサービスはユーザーの認証情報を共有することなく、ユーザーに代わって App Services と通信できます。 ユーザー API キーは、認証されたユーザーはいつでも取り消すことができます。 ユーザー API キーは単独では期限切れになりません。
認証済みユーザーの ユーザー .apiKeys プロパティでアクセスする ApiKeyAuth クライアントでユーザー API キーを管理できます。
React フック
@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 キーを作成するには、ユーザーのすべての API キー間で一意の名前をApiKeyAuth.create() に渡します。
SDK は、作成時にユーザー API キーの値を返します。 ログインに使用できるように、 key
値を安全に保存してください。 key
の値を失うか保存しない場合、回復する方法はありません。 新しいユーザー API キーを作成する必要があります。
サーバー API キー または 匿名ユーザー のユーザー API キーを作成すること はできません 。
const {_id, key, name, disabled} = await user?.apiKeys.create(apiKeyName);
ユーザー API キーの検索
ユーザーのすべての 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 キーの有効化または無効化
ユーザー API キーを有効または無効にするには、キーの_id
をApiKeyAuth.enable()またはApiKeyAuth.disable()に渡します。 キーが無効になっている場合、ユーザーに代わってログインするために使用することはできません。
await user!.apiKeys.enable(cloudApiKey!._id);
await user!.apiKeys.disable(cloudApiKey!._id);
API キーを削除する
ユーザー API を永続的に削除するには、キーの_id
をApiKeyAuth.delete()に渡します。 削除されたキーは復元できません。
await user!.apiKeys.delete(cloudApiKey!._id);