크레딧 (돈) 차감에 사용되는 클라이언트 측 API 키 처리
API 및 웹 응용 프로그램을 빌드했습니다. 사용자는 웹 앱을 통해 가입하고 고유 한 API 키를받습니다. 그런 다음 그들은 자신의 계좌에 대해 "크레딧"을 구입할 수 있습니다.이 계좌는 단순히 1 : 1의 달러 표현입니다.
사용자가 API 호출을 수행하면 API 키가 전달됩니다. 이 키는 고객을 식별하고 필요에 따라 대변을 빼는 데 사용됩니다.
여기서 명백한 문제가 있습니다. 사용자가 자신의 서버에서이 호출을 수행하고 키가 비공개로 유지되면 모든 것이 잘됩니다. 그러나 자체 서버가없는 고객은 어떻게 처리합니까? 예를 들어 간단한 Android 앱을 게시 한 사용자를 서버없이 Play 스토어에 가져와 내 제품을 통합하려고합니다. 열쇠는 클라이언트 측을 지켜야 할 것입니다. 그러면 악의적 인 사용자가 응용 프로그램의 보안 문제를 해독하고 잠재적으로 키 소유자의 크레딧을 사용하는 인증되지 않은 API 호출을 수행 할 수 있습니다.
어떻게이 문제를 해결할 수 있습니까? 이 시나리오를 처리 할 방법이 있습니까?