<context>
나는 어제 좌절감을 느꼈고 동료 동료들에 의해 신속하게 (그리고 적절하게) 닫히고 삭제 된 불꽃 질문을 게시했다. 야후! 표준 PlaceFinder API 끝점을 해제하고 유료 서비스로 대체했습니다. 그것이 나를 좌절시키는 부분은 아니지만 OAuth를 요구하도록 액세스 모델을 변경 한 것은 대부분 사실이었습니다.Yahoo! PlaceFinder에 OAuth의 적절한 사용 사례가 있습니까?
당신이, OAuth를 사용자를위한 더 의존 API의의 중단 된에 눈을 떼지 않았다, 그것을 빨아 내 질문의 클로저 중 하나의 효과에 어떤 댓글을 달았습니다. 나는 그들이 먼저 API는 지난 해 10 월/11 월에 다시 중단 발표 때 다시 깨진 링크를 가지고 야후를 비난하여 내 API 관찰의 사실을 주장 할 수 있지만
, 나는 그것을 시도하는 것이 더 생산적 일 것이라고 생각 이것을 지적인 질문으로 바꾸십시오. </context>
OAuth를 사용했습니다. 나는 OAuth를 좋아한다. 사용자 인증을하고 응용 프로그램의 사인 온을 단순화 할뿐만 아니라 다른 응용 프로그램에서 해당 사용자의 데이터에 액세스 할 수있는 권한을 요청할 수 있습니다. 그러나 PlaceFinder 데이터는 비공개 사용자 데이터가 아닙니다. 그것은 모든 사람들이 공유 할 수있는 알려진 지명과 글로벌 식별자 (WOE ID)입니다.
오늘 아침에 야후! BOSS GEO가 내 신용 카드 정보를 테스트하고 OAuth API 소비자를 자극하여 테스트 해 보았습니다. 나는 예전에 사용했던 DotNetOpenAuth으로 시작했습니다. Yahoo!의 OAuth guide을 읽고 Yahoo!의 OAuth 6.1, 6.2 및 6.3 끝점 URL이 모두 포함 된 DotNetOpenAuth.OAuth.ServiceProviderDescription
인스턴스를 만들었습니다. 그런 다음 DotNetOpenAuth.OAuth.WebConsumer
을 사용하여 PlaceFinder API를 사용하고 Yahoo!에 돈을 지불하는 방법을 알아 내려고 노력했습니다.
하지만 작동하지 않았습니다. 나는 많은인지 부조화를 극복해야했고, 결국 널리 사용되고 널리 사용되는 DotNetOpenAuth 라이브러리의 한계 또는 OAuth의 오용 가능성을 극복해야했습니다. BOSS documentation이 BOSS GEO documentation과 별개임을 깨닫고 C# code sample that worked to consume Yahoo!'s PlaceFinder API을 발견했을 때 나는 불협화음이 어디에서 왔는지를 발견했습니다.
Yahoo!의 PlaceFinder API는 OAuth를 사용하지만 API의 끝점 또는 데이터를 가져 오기 위해 액세스 토큰이 필요하지 않습니다. PlaceFinder 요청을 보내면 타임 스탬프, 논스 및 서명 과 함께 앱의 모든 정보 (고객 키 및 비밀번호)를 PlaceFinder 끝점에 전송합니다. 과거에 OAuth를 사용했을 때 이러한 요소는 6.1 엔드 포인트로 전송되어 요청 토큰을 받았습니다. 그런 다음이를 사용하여 사용자를 인증 (6.2)하고 액세스 토큰 (6.3)을 얻어 추가 요청을 할 수 있습니다.
DotNetOpenAuth의 한계는 내가 지금까지 극복 할 수 없기 때문에 내가 무지하고 잘못하고있는 경우 여기 말해주세요. sample C# code on Yahoo!'s site에서 DotNetOpenAuth를 사용하고 있지 않습니다. 대신 그들은 nonce, 타임 스탬프 및 서명을 생성하는 데 사용할 수있는 OAuthBase
클래스가 있습니다. 그러나 은 액세스 토큰 및 암호에 대해 빈 문자열을 보냅니다. DotNetOpenAuth를 사용하여이 작업을 시도했지만 null 또는 빈 액세스 토큰을 사용하여 요청을 구성 할 수는 없습니다.
그래서 질문 : OAuth 표준을 부적절하게 사용합니까? 그렇지 않은 경우 DotNetOpenAuth 라이브러리에 RequestToken (6.1) 이외의 엔드 포인트에 권한이없는 요청을 보낼 수 없게하는 제한이 있습니까? 이 두 가지에 대한 대답이 아니오 인 경우 DotNetOpenAuth를 사용하여 액세스 토큰이나 암호를 보내지 않고도 PlaceFinder 데이터를 요청할 수 있습니까?
1)처럼 이전 URL의 적절한 자리에 야후는에서 바로 OAuth를 시작하지 않았다 가자. 그들은 그것으로 전환했다. 2.) Plain HTTPS는 서명 된 요청보다 간단하게이를 해결할 수있었습니다. 3.) ysearchboss 그룹에 게시하고 응답을받지 못했습니다. 4.) 귀하의 대답을 듣고 나는 실제로 이것이 oAuth를 적절하게 사용하지 못한다는 것입니다. 그게 당신이 말하는거야? – danludwig