2012-04-26 4 views
0

누군가가 나를 도와 줄 수 있습니다. Google Contacts API를 사용하여 연락처 목록을 가져옵니다. 나의 이해에, 이것은 GET 요청을 전송하여 수행됩니다 어떤 침입자가 URL에서의 oauth_token에 액세스 할 수Google 연락처 API (OAuth2)에 GET 요청 대신 POST 보내기

https://www.google.com/m8/feeds/contacts/default/full?alt=json&max-results=9999&oauth_token=OATH_TOKEN_HERE

그러나,이 격렬하게 안전하지 않습니다. 이 문제를 해결하기 위해 데이터 (alt, max-results, oauth_token)를 POST 요청으로 보내려고합니다. 그러나 "인증이 필요합니다"라는 오류가 표시됩니다. 나는 "Authorization : OAuth"를 내 머리글에 추가하려했지만 사용하지 않았다. (인증 유형이 인식되지 않는다는 오류가 발생 함).

어떤 조언이 필요합니까? 내 보안 소프트웨어가 내 프로그램의 보안 구멍에 대해 불평하지 않도록 Google에 oauth 토큰을 보내는 보안 방법이 필요합니다.

감사합니다!

+1

POST 데이터는 GET 데이터와 마찬가지로 액세스 할 수 있습니다 .GET 대신 POST를 사용하면 정확하게 제로 보안이 제공됩니다. –

+0

가능 [https를 사용하면 url 매개 변수가 스니핑으로부터 안전합니까?] (http://stackoverflow.com/questions/893959/if-you-use-https-will-your-url-params-will-be) -safe-from-sniffing) 연결된 HTTPS를 사용할 때 HTTPS 트래픽에서 QueryString 매개 변수가 암호화됩니다. –

+0

제가 고치려고하는 문제는 "보안 토큰에있는 세션 토큰"입니다. 이것은 GET 요청에 대해서만 나타나지만 POST 요청에 대해서는 사라집니다. 그럼에도 불구하고 Google에서 연락처를 가져 오기 위해 POST 요청을받을 수있는 방법은 무엇입니까? – jnfr

답변

3

질문에 직접 대답하려면 HTTPS을 사용하는 것처럼 보안이 관련이 없더라도 Google에 POST을 보내면 연락처 목록을 얻을 수 없습니다. Google requires you use Get.

인증에 대한 적절한 형식 (쿼리 문자열이 포맷 된 HTTP 헤더 사용하는 것입니다 당신이 아직도의 oauth_token을 패스 Get을 사용할 수 없기 때문에 :

인증 : 무기명 1/fFBGRNJru1FQd44AzqT3Zg

Using OAuth 2.0 to Access Google APIs

+0

아,이 주변에는 방법이 없다고 생각합니다. 감사! – jnfr

+0

* 할 필요가없는 이유는 * 당신은 HTTPS를 사용하고 있습니다 !!! –

+0

아, 그래, 그 부분을 이해합니다! (다시 한번 감사드립니다!) 보안에 대해 불만을 제기하는이 entreprise 소프트웨어는 여기에있을 수 없습니다. :피 – jnfr