사용자 API 키 생성 및 관리 - 웹 SDK
개요
Web SDK 를 사용하여 사용자가 재인증할 필요 없이 기존 사용자를 대신하여 서비스가 로그인 앱 과 상호 작용 수 있도록 하는 사용자 API 키 를 만들고 관리 수 있습니다.
사용자 API 키는 API 키 인증 제공자 의 일부로 managed 되지만, 익명이 아닌 다른 인증 제공자 와 연결된 사용자에 대해서만 생성할 수 있습니다.
Web SDK의 사용자 객체에는 해당 사용자의 API 키로 작업할 메서드를 노출하는 ApiKeyAuth
객체가 포함되어 있습니다.
사용자 API 키 만들기
새 사용자 API 키를 만들려면 키를 식별할 수 있는 이름으로 ApiKeyAuth.create()
를 호출합니다. 이름은 사용자의 모든 API 키 중에서 고유한 문자열이어야 합니다.
경고
API 키 값 저장
SDK는 사용자가 생성할 때 사용자 API 키의 값만 반환합니다. 로그인에 사용할 수 있도록 key
값을 안전하게 저장해야 합니다.
key
값을 분실하거나 저장하지 않으면 이를 복구할 수 있는 방법이 없습니다. 새 사용자 API 키를 생성해야 합니다.
const user = app.currentUser; const key = await user.apiKeys.create("myApiKey");
사용자 API 키 조회
사용자의 모든 API 키를 나열하는 배열을 가져오려면 ApiKeyAuth.fetchAll()
을(를) 호출하세요. 키의 _id
로 ApiKeyAuth.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);
API 키 활성화 또는 비활성화
키의 _id
로 ApiKeyAuth.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);
API 키 삭제
키의 _id
로 ApiKeyAuth.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);