2012-07-31 4 views
13

그래서 분명히 OAuth를 사용하면 소비자의 키와 API 제공 업체에서 고객 비밀번호를 취득해야 1.0 ...합니까의 Oauth 2.0 비밀 소비자 키/소비자가 필요

하지만를 사용할 때와 같은 OAuth는 2.0 API를 사용하려고하면 페이스 북, 구글 Oauth 2.0 등 내가 소비자 키/소비자 비밀 (나는 Facebook을 위해 App ID와 App secret을 얻었지만 소비자 키/소비자 비밀과는 다르다.)을 얻을 필요가 없었다.

그래서 내 질문 Oauth 2.0을 사용할 때 Oauth 1.0에서와 같이 소비자 키/고객 비밀이 필요하지 않습니다.

또한 사실입니다. Oauth 2.0에 필요한 서명 방법 (HMAC-SHA1 등)이 없습니다. 맞습니까? HMAC-SHA1은 Oauth 1.0에만 해당합니다. 맞습니까?

답변

15
  1. OAuth 2 제공 업체는 일반적으로 클라이언트/앱의 식별자와 일부 비밀번호/비밀번호를 발급합니다. OAuth 초안은 client identifier and client secret입니다. 이것들은 당신의 어플리케이션이 진짜로 호출을 받았는지 확인하는데 사용됩니다. 그러나 OAuth는 다소 차이가 있으며 어떤 종류의 비밀이 필요하지 않은 다른 Authorization Grant flows을 다룹니다. 구글은 그들 및클라이언트 비밀, 페이스 북을 호출 클라이언트 ID 호출 앱 ID앱 비밀,하지만 그들은 모두 동일합니다.
  2. 은 예, 모든 암호화 단계는
0

모두 동일 OAuth를 2에서 서버 사이드로 이동했다. 사용 된 용어는 앱/사용자/클라이언트별로 다릅니다. 그게 다야 똑같아.

5

당신이 말하는 권한 부여 흐름을 OAuth 2 사양의 클라이언트 자격증 명 부여 흐름이라고합니다. 응용 프로그램 전용 인증을 수행하는 데 사용됩니다. 사용자가 관련이 없음을 의미합니다. 일반적인 예는 홈 페이지에 트위터 피드를 표시하는 것입니다.

일반적으로 애플리케이션은 HTTPS를 통해 소비자 키 (또는 앱 ID)와 고객 비밀번호 (또는 앱 비밀번호)를 모두 서버로 전달합니다. 이 요청은 HTTPS에 의해서만 보호됩니다. 추가 암호화가 없습니다. 서버는 사용자 컨텍스트가 필요하지 않다면 API에서 요청을하기 위해 그 시점부터 사용할 수있는 토큰을 반환합니다.

소비자 키 (또는 앱 ID)는 애플리케이션을 식별하며 의미있는 가치가있을 수 있습니다. 일반적으로 더 이상 이것을 변경할 수 없거나 변경할 수 없습니다. 그러나 소비자 기밀은 그것이 손상되었다고 믿을 경우 재생성 될 수 있습니다. 이것은 두 개의 키가있는 이유를 설명합니다.

소비자 암호를 다시 생성하는 것은 소비자 키와 소비자 암호가 손상된 경우 도움이되지 않는 토큰을 무효화하는 것과 다릅니다.