2011-01-21 2 views
0

나는 page on inplementing OAuth that Twitter have written을 읽었습니다. 내 앱을 등록 했으므로 내 계정에만 액세스 할 수 있으므로 모든 요청 토큰을 건너 뜁니다. 비밀 토큰Twitter OAuth - 잘못된 서명 오류 - 무엇을 놓쳤습니까?

  • 소비자 토큰
  • 소비자 토큰 비밀
  • 액세스 토큰
  • 액세스

는 좀 루비 코드를 작성하고 Beginner’s Guide to OAuth에 대해 출력을 테스트 : 나는 "Your apps" 페이지에서,이 (트위터 문서에서 제안 된 독서). 동일한 출력, 즉 서명, 기본 문자열 및 인증 헤더가 동일합니다.

그러나 Twitter Rest API에 연결하고 verify credentials command을 시도하면 응답은 항상 "잘못된 서명"입니다.

a gist by erikeldridge on github에서 다른 코드 (광산과 매우 유사)를 사용해 보았지만 작동하지 않습니다. cURL (curb library 사용)을 통해 연결하는 대신 Net/Http를 사용합니다. 동일한 오류 응답이 반환됩니다.

OAuth gem으로 변경되었습니다. Net/Http를 사용하여 연결합니다. 동일한 오류 응답이 다시 발생합니다.

인증 정보가 API에서 사용하려고 시도한 유일한 명령은 아니지만 GET 또는 POST에 관계없이 모두 동일한 오류가 발생하며 추가 매개 변수가 필요합니다. 나는 문제없이 연석 라이브러리를 사용하여 검색 API를 성공적으로 사용하여 연결 방법이라고 생각하지 않습니다.

누구든지이 문제를 해결하기 위해 무엇을 제안 할 수 있습니까? 나는 어떤 입력에 대해서도 매우 감사 할 것입니다.

루비 1.9.2; 클릭 7.21.2; oauth 0.4.4; 0.7.8을 억제; json 1.4.6; OSX 10.6.5;

+0

고정 - 나는 트위터 사이트에서 소비자 키와 비밀을 재생성하고 작업을 시작했다. 이전 세트가 작동하지 않는 이유를 모르겠지만 더 자세한 오류 메시지를 제공 할 수 있습니까? 그러나 나는 행복하다 :) – iain

답변

0

나는 당신이 당신의 자신의 질문에 대답 할 수 몰랐어요하지만 사이트는 ... 그래서 상금을 위해 저를 자극한다

그것은 고정 된 것

- 내가 트위터 사이트에서 소비자 키와 비밀을 재생하며 일하기 시작했다. 이전 세트가 작동하지 않는 이유는 모르겠다. 코드는 견고했다. (항상 작동한다.) 세부 사항은 정확했다. 아마 그들은 (Twitter) 더 자세한 오류 메시지를 제공 할 수 있습니까?그러나 나는 행복하다 :)

1

응용 프로그램이 데이터에만 액세스하는 경우에도 단순히 '요청 토큰 관련 내용 건너 뛰기'만으로는 충분하지 않습니다. 요청 토큰은 OAuthentication 프로세스에 필수 요소입니다.

  1. GET 요청 토큰 키 및 요청 토큰 비밀
  2. 사용 요청 토큰 데이터에 액세스하는 응용 프로그램을 승인 할 다음과 같이

    요약

    의 OAuth는 프로세스의 3 개 가지 주요 부분이다. 이렇게하면 사용자 (사용자)에게 PIN이 제공됩니다.
  3. PIN을 사용하여 액세스 토큰 및 비밀에 대한 요청 토큰 및 비밀을 교환 할 수 있습니다.

더 자세한 OAuthentication 플로우는 here입니다.

+0

고마워. 어쨌든 PIN 비트를 했는데도 응용 프로그램이 귀하의 계정에만 액세스 할 수 있으므로 Twitter 토큰을 사용하면 계정 토큰과 계정 페이지의 비밀 정보를 얻을 수 있습니다. 그렇다면 왜 실행해야합니까? 요청? – iain

+0

이 링크를 찾았습니다. http://dev.twitter.com/pages/oauth_single_token – iain

+0

사과 - 트위터가 단일 사용자의 경우 액세스 토큰과 비밀을 제공한다는 사실을 몰랐습니다. 당신 말이 맞아요, 당신은 전체 과정을 통해 실행하지 않아도됩니다. 내가 제안 할 수있는 유일한 것은 서명 기반을 해싱하는 방법을 다시 한 번 확인하는 것입니다. 처음에는 OAuth를 사용할 때 악몽을 꾼 것입니다. 희망을 분류 해주세요. –