Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

사용자 API 키 생성 및 관리 - React Native SDK

이 페이지의 내용

  • React Hooks
  • 사용자 API 키 만들기
  • 사용자 API 키 조회
  • API 키 활성화 또는 비활성화
  • API 키 삭제

사용자 API 키를 사용하면 장치 또는 서비스가 사용자 자격 증명을 공유하지 않고도 사용자를 대신하여 App Services와 통신할 수 있습니다. 사용자 API 키는 인증된 사용자가 언제든지 철회할 수 있습니다. 사용자 API 키는 저절로 만료되지 않습니다.

인증된 사용자의 User.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 연결