2012-07-09 2 views
4

Google은 고객 회사가 회사 별 데이터에 액세스하는 데 사용할 API를 개발 중입니다. 우리는 API를 준비하고 통신을 보호하는 방법을 모색하고 있습니다. 명백한 선택은 OAuth (2?)이지만, 우리의 경우 API에 대한 액세스는 사용자별로 이루어지기보다는 회사 별입니다.그룹 권한 기반 API 용 OAuth

예를 들어, 우리는 API에 연결할 모바일 앱을 갖게 될 것이고, 앱 설치를 선택한 특정 회사의 모든 사용자는 추가 인증/OAuth 춤을 필요로하지 않고 API에 액세스 할 수 있어야합니다.

높은 수준의 생각은 공유 키로 특정 클라이언트 앱을 하드 코딩하여 올바른 데이터에만 액세스 할 수 있도록하는 것입니다.이 데이터는 OAuth가 아니지만 일부 맞춤 솔루션이 될 수 있지만, 그것 OAuth가 더 적합한 곳에 개인적인 허가에 의해 개별적으로 할 수도 있습니다. 그래서 표준 기반이고 미래에 우호적 인 것이 바람직한 해결책입니다.

모든 포인터? 최고의 각도로 공백을 채우려고하면 앞으로 나아갈 수 있습니다. 주위에 독서, 그것은 같은 서버 - 서버 모델, Apigee recommends against에 대한 OAuth를 사용하여 비슷합니다 것 같습니다.

답변

3

그래, 가장 확실하게 이 아닙니다. OAuth가 해결하도록 설계된 것입니다. Apigee의 양방향 SSL 제안은 서버 간 인증/권한 부여에 대한 올바른 접근 방식입니다. 각 서버에 x509 인증서를 발급하고 서로 SSL 연결을 시작할 때 서로의 인증서가 신뢰할 수있는 출처에서 왔는지 확인합니다. 이 기능은 대부분의 서버 개발 플랫폼에 내장되어 있으며 설정하기가 어렵지 않습니다.

+0

OAuth는 사용자가 회사 A (oauth 클라이언트)가 사용자가 이전에 B 회사 (oauth 공급자)에게 제공 한 데이터에 액세스 할 수 있도록 허용합니다. –

+0

동의. 이 문제에 대해 oAuth가 작동하도록 푸시 할 수 있지만 인증서를 사용하는 것이 훨씬 쉽습니다. –

+0

@RobertLevy 간단히 말해서 우리는 각 클라이언트에 대해 인증서를 발급하고 인증서는 모바일 앱, 웹 브라우저 등에 설치되며 우리는이를 사용하여 어떤 데이터를 볼 수 있는지 규정합니다. 귀하의 대답은 주로 서버 - 서버 모델에 초점을 맞춘 것처럼 보입니다.이 모델은 비슷한 접근 방법으로 만 참조되었지만 주요 문제는 언급하지 않았습니다. 건배. –