2012-11-24 6 views
0

클라이언트 (응용 프로그램)가 API 공급자를 호출하고 정보를 검색하거나 보내는 비공개 API를 만들고 있습니다. 어떤 앱이 작업을 수행 하는지를 확인하거나 식별 할 수있는 방법이 필요하며 액세스 권한이있는 경우 사용자가 체크인하고 API 호출을 통해 다른 곳이 아닌 다른 곳에서 정보를 가져 오는 동일한 장소에서 동일한 앱이 사용됩니다. API 키 또는 OAUTH와 같은 인증 방법을 사용하여 이것을 허용할지 잘 모르겠습니다.API ID/권한

+0

이 질문에 대답하는 데 더 많은 정보가 필요합니다 ... – PearsonArtPhoto

+0

자세한 정보는 무엇입니까? – jtomasrl

답변

1

일반적으로 클라이언트가 데이터를받는 사람인지 100 % 확신 할 수있는 방법은 없습니다. 해커는 항상 프로그램을 속일 수있는 방법을 찾을 수 있습니다.

그럼에도 불구하고 뭔가 할 수있는 몇 가지 방법이 있습니다. 가장 좋은 방법은 각 클라이언트가 자신의 키를 가지고 어떻게 든 서버에 전달하여 인증하는 것입니다. 그리고이 키들은 어떻게 든 안전하게 서버에 전달되어야합니다. 이것은 일어날 가능성이 없습니다. 이 키는 각 클라이언트를 고유하게 식별합니다. 클라이언트가 권한을 남용하는 경우 거부 될 수 있습니다.

다음 단계는 위에서 설명한대로 키를 생성하고 공개 키를 사용하여 키를 암호화 한 다음 서버로 전송하는 것입니다. 당신이 원한다면 승인 절차를 거칠 수도 있습니다.

클라이언트가 서버에 쿼리하여 숫자를 생성하는 또 다른 솔루션입니다. 그런 다음 사용자는 이전에 로그인 한 웹 사이트에 해당 번호를 입력합니다. 번호는 적절하게 복잡해야하며 누군가를 장치를 인수하는 위험을 줄이기 위해 몇 분 동안 만 유효합니다. 이는 Netflix와 같은 단방향 애플리케이션에 적합합니다.

전체적으로 프로그램에 대한 요구 사항에 따라 다릅니다.

+0

https + 무언가를 사용하겠습니다. 클라이언트마다 키를 생각하고 HMAC와 같은 해시 기반 메시지 인증을 사용했습니다. OAuth를 사용해야합니까? – jtomasrl

+0

OAuth는 정말 다른 멜드이며, 한 서버에 다른 서버가 데이터를 가져올 수 있음을 알리기 위해 설계되었습니다. 나는 클라이언트마다 키를 생성 할 것이고, 거기에서 메시징 인증을 기반으로 한 해시는 아마도 괜찮을 것이다. – PearsonArtPhoto