Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

사용자 API 키 관리 - Java SDK

이 페이지의 내용

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

애플리케이션 사용자는 SDK를 사용하여 사용자 API 키를 생성할 수 있습니다. 각 기기 또는 서비스에 고유한 사용자 API 키를 연결하여 기기 또는 서비스가 사용자를 대신하여 Realm과 통신하도록 할 수 있습니다.

사용자 API 키는 항상 익명이 아닌 다른 인증 제공자가 생성한 사용자 객체와 연결됩니다. 각 사용자는 자신의 계정에 최대 20개의 사용자 키를 연결할 수 있습니다.

사용자 API 키는 사용자 또는 서비스가 API 키 인증 제공자 를 사용하여 Realm 으로 직접 인증할 수 있는 서버 API 키 와 동일하지 않습니다. 서버 API 키에 학습 보려면 API 키 인증을 참조하세요.

새 사용자 API 키를 생성하려면 로그인한 사용자의 apiKeyAuth 인스턴스 의 create() 또는 createAsync() 메서드를 호출합니다. 사용자 API 키는 로그인한 사용자와 연결되며 사용자를 대신하여 Realm 과 상호 작용 하는 데 사용할 수 있습니다. 익명 사용자에 대한 사용자 API 키를 생성할 수 없습니다.

경고

API 키 값 저장

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

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

User user = app.currentUser();
user.getApiKeys().createAsync("Name-of-the-API-Key", result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully created API key: " + result.get().getValue());
} else {
Log.e("EXAMPLE", "Error creating API key: " + result.getError().getErrorMessage());
}
});
val user = app.currentUser()
user!!.apiKeys.createAsync("Name-of-the-API-Key") { result ->
if (result.isSuccess) {
Log.v("EXAMPLE", "Successfully created API key: ${result.get().value}")
} else {
Log.e("EXAMPLE", "Error creating API key: ${result.error}")
}
}

로그인한 사용자와 연결된 모든 사용자 API 키 목록을 가져오려면 로그인한 사용자의 ApiKeyAuth 인스턴스 의 동기 fetchAll() 메서드 또는 비동기 fetchAll() 메서드를 호출합니다.

User user = app.currentUser();
user.getApiKeys().fetchAll(result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully fetched API keys: " + Arrays.toString(result.get().toArray()));
} else {
Log.e("EXAMPLE", "Error fetching API keys: " + result.getError().getErrorMessage());
}
});
val user = app.currentUser()
user!!.apiKeys
.fetchAll { result ->
if (result.isSuccess) {
Log.v("EXAMPLE", "Successfully fetched API keys: ${result.get().toTypedArray()}")
} else {
Log.e("EXAMPLE", "Error fetching API keys: ${result.error}")
}
}

로그인한 사용자의 특정 사용자 API 키를 조회하려면 로그인한 사용자의 ApiKeyAuth 인스턴스 의 fetch() 또는 fetchAsync() 메서드에 키의 ID를 전달합니다.

User user = app.currentUser();
user.getApiKeys().fetchAsync(api_key_id, result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully fetched API key: " + result.get());
} else {
Log.e("EXAMPLE", "Error fetching API key: " + result.getError().getErrorMessage());
}
});
val user = app.currentUser()
user!!.apiKeys.fetchAsync(api_key_id) { result ->
if (result.isSuccess) {
Log.v("EXAMPLE", "Successfully fetched API key: ${result.get()}")
} else {
Log.e("EXAMPLE", "Error fetching API key: ${result.error}")
}
}

특정 사용자 API 키를 삭제하지 않고 비활성화하려면 키의 ID를 로그인한 사용자의 ApiKeyAuth 인스턴스 의 disable() 또는 disableAsync() 메서드에 전달합니다.

User user = app.currentUser();
user.getApiKeys().disableAsync(api_key_id, result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully disabled API key.");
} else {
Log.e("EXAMPLE", "Error disabling API key: " + result.getError().getErrorMessage());
}
});
val user = app.currentUser()
user!!.apiKeys.disableAsync(api_key_id) { result ->
if (result.isSuccess) {
Log.v("EXAMPLE", "Successfully disabled API key.")
} else {
Log.e("EXAMPLE", "Error disabling API key: ${result.error}")
}
}

이전에 비활성화된 특정 사용자 API 키를 활성화 하려면 로그인한 사용자의 ApiKeyAuth 인스턴스 의 활성화 () 또는 enableAsync() 메서드에 키의 ID를 전달합니다.

User user = app.currentUser();
user.getApiKeys().enableAsync(api_key_id, result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully enabled API key.");
} else {
Log.e("EXAMPLE", "Error fetching API key: " + result.getError().getErrorMessage());
}
});
val user = app.currentUser()
user!!.apiKeys.enableAsync(api_key_id) { result ->
if (result.isSuccess) {
Log.v("EXAMPLE", "Successfully enabled API key.")
} else {
Log.e("EXAMPLE", "Error fetching API key: ${result.error}")
}
}

특정 사용자 API 키를 영구적으로 제거 하려면 로그인한 사용자의 ApiKeyAuth 인스턴스 의 삭제 () 또는 deleteAsync() 메서드에 키의 ID를 전달합니다.

User user = app.currentUser();
user.getApiKeys().deleteAsync(api_key_id, result -> {
if (result.isSuccess()) {
Log.v("EXAMPLE", "Successfully deleted API key.");
} else {
Log.e("EXAMPLE", "Error deleting API key: " + result.getError().getErrorMessage());
}
});
val user = app.currentUser()
user!!.apiKeys.deleteAsync(api_key_id) { result ->
if (result.isSuccess) {
Log.v("EXAMPLE", "Successfully deleted API key.")
} else {
Log.e("EXAMPLE", "Error deleting API key: ${result.error}")
}
}

돌아가기

사용자 ID 연결