2011-02-04 4 views
1

(OpenId + OAuth) 하이브리드 프로토콜을 사용하고 있습니다.Google GetAccessToken : 잘못된 요청 400

모든 openid 및 oauth 확장 매개 변수를 사용하여 사용자를 "https://www.google.com/accounts/o8/ud"로 리디렉션하면 사용자는 액세스해야하는 로그인 화면과 서비스를 볼 수 있습니다.

http://muUrl.com/...&openid.ns.ext2=http://specs.openid.net/extensions/oauth/1.0&openid.ext2.scope=http://docs.google.com/feeds/& openid.ext2.request_token = 4/8GCHDIvtxhbg8gVkfYro7QIFakoB

나는 사용자가 제대로 및 텍스트 토큰을 권한이 굵은 글씨로 기록됩니다 이해 : 성공적인 로그인에 나는 다음과 같은 응답을받을 수 있습니다. 그런 다음 oauth_verifier을 제외한 모든 매개 변수가 인 하이브리드 모드에서는 액세스 토큰을 얻으려고합니다. "HMAC-SHA1"키를 사용하여 기본 문자열에 "consumersecret &"(토큰 비밀을 사용할 수 없음)을 사용합니다.

서명이 유효하지 않은 400 개의 잘못된 요청이 표시됩니다. 이 문제를 해결하기 위해 도움이나 제안을 보내 주시면 감사하겠습니다.

+0

퍼센트 이탈을 확인하십시오. Google 토큰에는 특수 문자가 많이 포함되어 있으며 올바르게 탈출하는 것을 잊기 쉽습니다. 이렇게하면 서명이 일치하지 않게됩니다. 그래도 문제가 해결되지 않으면 질문에 더 많은 정보를 추가해야합니다. OAuth 문제를 성공적으로 디버그 할 수있는 충분한 정보가 여기에 없습니다. –

+0

감사합니다 ... 그것은 인코딩 문제였습니다. – helloworld

+1

하지만 인코딩을 어디에 쓰나요? 그것은 Google 클래스입니다.이 코드는 다음과 같습니다. 'code = 4/Ryjbc-ykPJvJhhonyYiN3359rofU.8r0nRibOcg0TOl05ti8ZT3aNCxdd'- 인코딩해야한다고 생각합니까? – OhadR

답변

1

pl 밥과 내 의견을 참조하십시오. 내 문제와 동일한 문제가있는 경우 이스케이프 처리가 문제 될 수 있습니다. oauth_verifier는 실제로 하이브리드 모드에서는 필요하지 않습니다.

관련 문제