2013-07-06 5 views
1

API KEY/PAIR을 사용해야하는 OAuth 1.0 API로 작업하고 있습니다.PHP OAuth 1.0 API 키/비밀 쌍과 종점 (요청, 승인 및 액세스)을 처리하는 라이브러리

  • 요청 토큰 엔드 포인트 :/OAuth를/request_token
  • 인증 엔드 포인트 :/OAuth를/
  • 액세스 토큰 엔드 포인트 권한을 부여 : 다음/OAuth를/access_token은

또한, 나에게 3 개 URL을 제공합니다 설명서에 나와있는 내용은 다음과 같습니다.


OAuth 1.0 프로토콜 (RF C 5849) API 요청을 인증합니다. OAuth 1.0은 공개 표준이기 때문에 OAuth 1.0의 "three-legged"클라이언트/사용자/서버 프로토콜 흐름을 "two-legged"클라이언트/서버 모델에 적용합니다. 인증 된 클라이언트/서버 요청에 대한 OAuth 적응에서 클라이언트는 API 클라이언트와 사용자 (즉, 요청 된 리소스의 소유자) 역할을합니다. 따라서 토큰 확인 프로그램을 사용하여 클라이언트로 리디렉션되는 대신 클라이언트는 사용자 역할을 수행하고 OAuth 확인 프로그램의 서버에 직접 액세스합니다. 액세스 가능성 검사는 클라이언트가 이전에 획득 한 검증자를 사용하여 얻은 액세스 토큰으로 서버에서 자원을 요청할 때 발생합니다. 액세스 토큰이 만료 될 때까지 (2 시간 후) 액세스 토큰을 재사용 할 수 있습니다. 토큰이 만료 된 후에는 새 액세스 토큰을 요청해야합니다. 예제를 통해 더 자세히 설명 할 것입니다.


제 3 자의 회사 API에 액세스하는 데 필요한 API 요구 사항을 사용할 수있는 PHP OAuth 라이브러리를 찾고 싶습니다. 나는 이것을 실제로 구현하는 방법을 모른다. 내 생각은 페이스 북 PHP API를 리버스 엔지니어링하는 것이지만 3 종점을 사용하는지 모르겠습니다. 또한, 운영에 도움이되거나 나를 직접 알아낼 수있는 자원으로 안내하는 데 도움이 될 것입니다.

감사합니다.

** 참고 : 발견 : click here이 솔루션을 내가 찾고있는 해결책이 될 수 있습니까?

답변

2

Facebook은 OAuth 2.0을 사용하므로 API는 문제가되지 않습니다. here에 몇 가지 기본 API 참조를 확인하십시오. 예를 들어, BitBucket, Twitter 및 Yahoo는 모두 v1.0a를 사용합니다.

PHP는 OAuth Extension이므로 사용자 지정 솔루션을 작성하는 경우 확실히 시작해야합니다. does provide Two Legged OAuth을 참조하는 라이브러리는 언뜻보기에 당신에게 옵션으로 보입니다. 마지막 문장의 면책 조항 : 나는이 라이브러리를 사용하지 않았지만 문서를 확인했습니다. UML 시퀀스 차트에 대한 좋은 설명은 here입니다. PHP와는 다른 일반적인 OAuth 일 뿐이지 만 좋은 설명을 제공합니다. This GitHub repo에는 재사용이 가능한 고객이 내 서비스 용으로을 포함하고 있습니다. 클라이언트가 PHP가 될 경우 몇 가지 아이디어를 얻을 수도 있습니다.

사례가 매우 흥미롭고 질문에 대한 답변이 없습니다. 내가 너라면 먼저 Two-Legged Section에서 참조하는 Google 코드 oauth-php 라이브러리의 코드를 확인해야 할 것입니다. 그런 다음이 라이브러리, 다른 라이브러리 또는 사용자 정의 구현을 실제로 사용해야하는지 결정하십시오.결정에 영향을 미칠 수있는 다른 요구 사항이나 쇼 스트로 퍼가있을 수도 있습니다 (나는 다른 질문에서 많은 양의 데이터를 푸시하고 싶을 것입니다.)) 2 시간 토큰은 좋은 성능 최적화이지만 너무 깁니다 인증/권한 부여리스가 있습니까?