Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

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

이 페이지의 내용

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

Web SDK 를 사용하여 사용자가 재인증할 필요 없이 기존 사용자를 대신하여 서비스가 로그인 앱 과 상호 작용 수 있도록 하는 사용자 API 키 를 만들고 관리 수 있습니다.

사용자 API 키는 API 키 인증 제공자 의 일부로 managed 되지만, 익명이 아닌 다른 인증 제공자 와 연결된 사용자에 대해서만 생성할 수 있습니다.

Web SDK의 사용자 객체에는 해당 사용자의 API 키로 작업할 메서드를 노출하는 ApiKeyAuth 객체가 포함되어 있습니다.

새 사용자 API 키를 만들려면 키를 식별할 수 있는 이름으로 ApiKeyAuth.create() 를 호출합니다. 이름은 사용자의 모든 API 키 중에서 고유한 문자열이어야 합니다.

경고

API 키 값 저장

SDK는 사용자가 생성할 때 사용자 API 키의 값만 반환합니다. 로그인에 사용할 수 있도록 key 값을 안전하게 저장해야 합니다.

key 값을 분실하거나 저장하지 않으면 이를 복구할 수 있는 방법이 없습니다. 새 사용자 API 키를 생성해야 합니다.

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

사용자의 모든 API 키를 나열하는 배열을 가져오려면 ApiKeyAuth.fetchAll() 을(를) 호출하세요. 키의 _idApiKeyAuth.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);

키의 _idApiKeyAuth.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);

키의 _idApiKeyAuth.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);

돌아가기

사용자 ID 연결