2012-11-13 1 views
13

2-legged OAuth2는 클라이언트 자격 증명을 공개적으로 숨길 수없는 브라우저 기반 앱에 사용됩니다. 3-legged OAuth2는 서버간에 세 번째 호출이있는 "Web Server Apps"에서 사용됩니다. All well described here.왜 2 다리가 잘 작동 할 때 3 다리 OAuth2가 있습니까?

질문 : 2 다리가 좋을 때 왜 3 다리가 좋을까요?

공급자와 클라이언트 모두 더 많은 작업이 필요합니다. 빅 플레이어가 움직이지 않고 3 발을 제거하지 않은 이유는 무엇입니까?

+0

http://hueniverse.com/2012/07/on-leaving-oauth/ – PeeHaa

+1

업데이트 링크 ... http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified – Adrian

답변

46

3 개의 legged는 "브라우저 기반"과 같이 특정 유형의 앱을 의미하지 않습니다. 세 다리가있는 것은 응용 프로그램이 사용자를 대신하여 작동 함을 의미합니다. 세 개의 다리가 시나리오에서

  1. 응용 프로그램 (소비자),
  2. 사용자 (리소스 소유자)와
  3. 하는 API (서비스 제공자)가있다.

두 개의 다리가있는 시나리오에는 사용자 개념이 없습니다. 일반적으로 이것은 응용 프로그램 간 솔루션과 관련이 있습니다. 거기에 응용 프로그램 (소비자)이 자신을 대신해 행동합니다. 그래서 두 다리의 OAuth에있다 : 사용자 인증 단계의 필요가 없음을

  1. 응용 프로그램 (소비자),
  2. 하는 API (서비스 제공)

의 차이는 단순히 2 다리 접근법.

+0

네, 맞아요. 나는 "2 다리"와 "3 다리"가 실제로 의미하는 것을 오해했습니다. 새로운 질문을 설정하겠습니다. 당신이 내 실수를 봤기 때문에 나는이 대답을 옳은 것으로 만들 것이다. –

+0

FYI : http://stackoverflow.com/questions/13387698/why-is-there-an-authorization-code-flow-in-oauth2-when-implicit-flow-works-s –

+0

그래서 내가 너무 좋아! – Faizan

1

2-legged 시나리오가 있습니다. 예를 들어 Google Apps domain-wide delegation of authority에 대한 설명서를 확인하십시오. 물론 위의 예에서 언급 한 예에서 Google Apps 도메인 관리자는 자신이 관리하는 도메인의 모든 사용자 계정을 최고로 소유하고 있습니다.

3 개방형 웹 환경에서 레그가 사용되어야합니다. 타사 응용 프로그램에 대한 데이터 액세스 권한을 부여하려면 자원 소유자의 승인이 필요합니다.

+0

예 , 나는 물건을 섞었다. (http://stackoverflow.com/questions/13369516/why-is-there-3-legged-oauth2-when-2-legged-work-so-well/13384100#comment18284216_13384100 참조) –

+0

참고 : http : // stackoverflow .com/questions/13387698/why-there-an-authorization-code-flow-in-oauth2-when-implicit-flow-works-s –

관련 문제