| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "google_apis/gaia/oauth_request_signer.h" | 5 #include "google_apis/gaia/oauth_request_signer.h" |
| 6 | 6 |
| 7 #include "googleurl/src/gurl.h" | 7 #include "googleurl/src/gurl.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 // This value is used to seed the PRNG at the beginning of a sequence of | 10 // This value is used to seed the PRNG at the beginning of a sequence of |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 signed_text); | 102 signed_text); |
| 103 } | 103 } |
| 104 | 104 |
| 105 TEST(OAuthRequestSignerTest, SignGet2) { | 105 TEST(OAuthRequestSignerTest, SignGet2) { |
| 106 GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); | 106 GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); |
| 107 OAuthRequestSigner::Parameters parameters; | 107 OAuthRequestSigner::Parameters parameters; |
| 108 parameters["oauth_timestamp"] = "1308147831"; | 108 parameters["oauth_timestamp"] = "1308147831"; |
| 109 parameters["oauth_nonce"] = "4d4hZW9DygWQujP2tz06UN"; | 109 parameters["oauth_nonce"] = "4d4hZW9DygWQujP2tz06UN"; |
| 110 std::string signed_text; | 110 std::string signed_text; |
| 111 ASSERT_TRUE(OAuthRequestSigner::SignURL( | 111 ASSERT_TRUE(OAuthRequestSigner::SignURL( |
| 112 request_url, | 112 request_url, |
| 113 parameters, | 113 parameters, |
| 114 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 114 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 115 OAuthRequestSigner::GET_METHOD, | 115 OAuthRequestSigner::GET_METHOD, |
| 116 "anonymous", // oauth_consumer_key | 116 "anonymous", // oauth_consumer_key |
| 117 "anonymous", // consumer secret | 117 "anonymous", // consumer secret |
| 118 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token | 118 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 119 "", // token secret | 119 std::string(), // token secret |
| 120 &signed_text)); | 120 &signed_text)); |
| 121 ASSERT_EQ(signed_text, | 121 ASSERT_EQ(signed_text, |
| 122 "https://accounts.google.com/OAuthGetAccessToken" | 122 "https://accounts.google.com/OAuthGetAccessToken" |
| 123 "?oauth_consumer_key=anonymous" | 123 "?oauth_consumer_key=anonymous" |
| 124 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" | 124 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" |
| 125 "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" | 125 "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" |
| 126 "&oauth_signature_method=HMAC-SHA1" | 126 "&oauth_signature_method=HMAC-SHA1" |
| 127 "&oauth_timestamp=1308147831" | 127 "&oauth_timestamp=1308147831" |
| 128 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 128 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 129 "&oauth_version=1.0"); | 129 "&oauth_version=1.0"); |
| 130 } | 130 } |
| 131 | 131 |
| 132 TEST(OAuthRequestSignerTest, ParseAndSignGet1) { | 132 TEST(OAuthRequestSignerTest, ParseAndSignGet1) { |
| 133 GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken" | 133 GURL request_url("https://www.google.com/accounts/o8/GetOAuthToken" |
| 134 "?scope=https://accounts.google.com/OAuthLogin" | 134 "?scope=https://accounts.google.com/OAuthLogin" |
| 135 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" | 135 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 136 "&xaouth_display_name=Chromium" | 136 "&xaouth_display_name=Chromium" |
| 137 "&oauth_timestamp=1308152953"); | 137 "&oauth_timestamp=1308152953"); |
| 138 std::string signed_text; | 138 std::string signed_text; |
| 139 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 139 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 140 request_url, | 140 request_url, |
| 141 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 141 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 142 OAuthRequestSigner::GET_METHOD, | 142 OAuthRequestSigner::GET_METHOD, |
| 143 "anonymous", // oauth_consumer_key | 143 "anonymous", // oauth_consumer_key |
| 144 "anonymous", // consumer secret | 144 "anonymous", // consumer secret |
| 145 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token | 145 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 146 "", // token secret | 146 std::string(), // token secret |
| 147 &signed_text)); | 147 &signed_text)); |
| 148 ASSERT_EQ("https://www.google.com/accounts/o8/GetOAuthToken" | 148 ASSERT_EQ("https://www.google.com/accounts/o8/GetOAuthToken" |
| 149 "?oauth_consumer_key=anonymous" | 149 "?oauth_consumer_key=anonymous" |
| 150 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" | 150 "&oauth_nonce=2oiE_aHdk5qRTz0L9C8Lq0g" |
| 151 "&oauth_signature=PH7KP6cP%2BzZ1SJ6WGqBgXwQP9Mc%3D" | 151 "&oauth_signature=PH7KP6cP%2BzZ1SJ6WGqBgXwQP9Mc%3D" |
| 152 "&oauth_signature_method=HMAC-SHA1" | 152 "&oauth_signature_method=HMAC-SHA1" |
| 153 "&oauth_timestamp=1308152953" | 153 "&oauth_timestamp=1308152953" |
| 154 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 154 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 155 "&oauth_version=1.0" | 155 "&oauth_version=1.0" |
| 156 "&scope=https%3A%2F%2Faccounts.google.com%2FOAuthLogin" | 156 "&scope=https%3A%2F%2Faccounts.google.com%2FOAuthLogin" |
| 157 "&xaouth_display_name=Chromium", | 157 "&xaouth_display_name=Chromium", |
| 158 signed_text); | 158 signed_text); |
| 159 } | 159 } |
| 160 | 160 |
| 161 TEST(OAuthRequestSignerTest, ParseAndSignGet2) { | 161 TEST(OAuthRequestSignerTest, ParseAndSignGet2) { |
| 162 GURL request_url("https://accounts.google.com/OAuthGetAccessToken" | 162 GURL request_url("https://accounts.google.com/OAuthGetAccessToken" |
| 163 "?oauth_timestamp=1308147831" | 163 "?oauth_timestamp=1308147831" |
| 164 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN"); | 164 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN"); |
| 165 std::string signed_text; | 165 std::string signed_text; |
| 166 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 166 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 167 request_url, | 167 request_url, |
| 168 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 168 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 169 OAuthRequestSigner::GET_METHOD, | 169 OAuthRequestSigner::GET_METHOD, |
| 170 "anonymous", // oauth_consumer_key | 170 "anonymous", // oauth_consumer_key |
| 171 "anonymous", // consumer secret | 171 "anonymous", // consumer secret |
| 172 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token | 172 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 173 "", // token secret | 173 std::string(), // token secret |
| 174 &signed_text)); | 174 &signed_text)); |
| 175 ASSERT_EQ(signed_text, | 175 ASSERT_EQ(signed_text, |
| 176 "https://accounts.google.com/OAuthGetAccessToken" | 176 "https://accounts.google.com/OAuthGetAccessToken" |
| 177 "?oauth_consumer_key=anonymous" | 177 "?oauth_consumer_key=anonymous" |
| 178 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" | 178 "&oauth_nonce=4d4hZW9DygWQujP2tz06UN" |
| 179 "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" | 179 "&oauth_signature=YiJv%2BEOWsvCDCi13%2FhQBFrr0J7c%3D" |
| 180 "&oauth_signature_method=HMAC-SHA1" | 180 "&oauth_signature_method=HMAC-SHA1" |
| 181 "&oauth_timestamp=1308147831" | 181 "&oauth_timestamp=1308147831" |
| 182 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 182 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 183 "&oauth_version=1.0"); | 183 "&oauth_version=1.0"); |
| 184 } | 184 } |
| (...skipping 28 matching lines...) Expand all Loading... |
| 213 signed_text); | 213 signed_text); |
| 214 } | 214 } |
| 215 | 215 |
| 216 TEST(OAuthRequestSignerTest, SignPost2) { | 216 TEST(OAuthRequestSignerTest, SignPost2) { |
| 217 GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); | 217 GURL request_url("https://accounts.google.com/OAuthGetAccessToken"); |
| 218 OAuthRequestSigner::Parameters parameters; | 218 OAuthRequestSigner::Parameters parameters; |
| 219 parameters["oauth_timestamp"] = "1234567890"; | 219 parameters["oauth_timestamp"] = "1234567890"; |
| 220 parameters["oauth_nonce"] = "17171717171717171"; | 220 parameters["oauth_nonce"] = "17171717171717171"; |
| 221 std::string signed_text; | 221 std::string signed_text; |
| 222 ASSERT_TRUE(OAuthRequestSigner::SignURL( | 222 ASSERT_TRUE(OAuthRequestSigner::SignURL( |
| 223 request_url, | 223 request_url, |
| 224 parameters, | 224 parameters, |
| 225 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 225 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 226 OAuthRequestSigner::POST_METHOD, | 226 OAuthRequestSigner::POST_METHOD, |
| 227 "anonymous", // oauth_consumer_key | 227 "anonymous", // oauth_consumer_key |
| 228 "anonymous", // consumer secret | 228 "anonymous", // consumer secret |
| 229 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token | 229 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 230 "", // token secret | 230 std::string(), // token secret |
| 231 &signed_text)); | 231 &signed_text)); |
| 232 ASSERT_EQ(signed_text, | 232 ASSERT_EQ(signed_text, |
| 233 "oauth_consumer_key=anonymous" | 233 "oauth_consumer_key=anonymous" |
| 234 "&oauth_nonce=17171717171717171" | 234 "&oauth_nonce=17171717171717171" |
| 235 "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" | 235 "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" |
| 236 "&oauth_signature_method=HMAC-SHA1" | 236 "&oauth_signature_method=HMAC-SHA1" |
| 237 "&oauth_timestamp=1234567890" | 237 "&oauth_timestamp=1234567890" |
| 238 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 238 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 239 "&oauth_version=1.0"); | 239 "&oauth_version=1.0"); |
| 240 } | 240 } |
| 241 | 241 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 266 "&xaouth_display_name=Chromium", | 266 "&xaouth_display_name=Chromium", |
| 267 signed_text); | 267 signed_text); |
| 268 } | 268 } |
| 269 | 269 |
| 270 TEST(OAuthRequestSignerTest, ParseAndSignPost2) { | 270 TEST(OAuthRequestSignerTest, ParseAndSignPost2) { |
| 271 GURL request_url("https://accounts.google.com/OAuthGetAccessToken" | 271 GURL request_url("https://accounts.google.com/OAuthGetAccessToken" |
| 272 "?oauth_timestamp=1234567890" | 272 "?oauth_timestamp=1234567890" |
| 273 "&oauth_nonce=17171717171717171"); | 273 "&oauth_nonce=17171717171717171"); |
| 274 std::string signed_text; | 274 std::string signed_text; |
| 275 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( | 275 ASSERT_TRUE(OAuthRequestSigner::ParseAndSign( |
| 276 request_url, | 276 request_url, |
| 277 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, | 277 OAuthRequestSigner::HMAC_SHA1_SIGNATURE, |
| 278 OAuthRequestSigner::POST_METHOD, | 278 OAuthRequestSigner::POST_METHOD, |
| 279 "anonymous", // oauth_consumer_key | 279 "anonymous", // oauth_consumer_key |
| 280 "anonymous", // consumer secret | 280 "anonymous", // consumer secret |
| 281 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token | 281 "4/CcC-hgdj1TNnWaX8NTQ76YDXCBEK", // oauth_token |
| 282 "", // token secret | 282 std::string(), // token secret |
| 283 &signed_text)); | 283 &signed_text)); |
| 284 ASSERT_EQ(signed_text, | 284 ASSERT_EQ(signed_text, |
| 285 "oauth_consumer_key=anonymous" | 285 "oauth_consumer_key=anonymous" |
| 286 "&oauth_nonce=17171717171717171" | 286 "&oauth_nonce=17171717171717171" |
| 287 "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" | 287 "&oauth_signature=tPX2XqKQICWzopZ80CFGX%2F53DLo%3D" |
| 288 "&oauth_signature_method=HMAC-SHA1" | 288 "&oauth_signature_method=HMAC-SHA1" |
| 289 "&oauth_timestamp=1234567890" | 289 "&oauth_timestamp=1234567890" |
| 290 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" | 290 "&oauth_token=4%2FCcC-hgdj1TNnWaX8NTQ76YDXCBEK" |
| 291 "&oauth_version=1.0"); | 291 "&oauth_version=1.0"); |
| 292 } | 292 } |
| 293 | 293 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 314 "oauth_nonce=\"2oiE_aHdk5qRTz0L9C8Lq0g\", " | 314 "oauth_nonce=\"2oiE_aHdk5qRTz0L9C8Lq0g\", " |
| 315 "oauth_signature=\"PFqDTaiyey1UObcvOyI4Ng2HXW0%3D\", " | 315 "oauth_signature=\"PFqDTaiyey1UObcvOyI4Ng2HXW0%3D\", " |
| 316 "oauth_signature_method=\"HMAC-SHA1\", " | 316 "oauth_signature_method=\"HMAC-SHA1\", " |
| 317 "oauth_timestamp=\"1308152953\", " | 317 "oauth_timestamp=\"1308152953\", " |
| 318 "oauth_token=\"4%2FVGY0MsQadcmO8VnCv9gnhoEooq1v\", " | 318 "oauth_token=\"4%2FVGY0MsQadcmO8VnCv9gnhoEooq1v\", " |
| 319 "oauth_version=\"1.0\", " | 319 "oauth_version=\"1.0\", " |
| 320 "scope=\"https%3A%2F%2Faccounts.google.com%2FOAuthLogin\", " | 320 "scope=\"https%3A%2F%2Faccounts.google.com%2FOAuthLogin\", " |
| 321 "xaouth_display_name=\"Chromium\"", | 321 "xaouth_display_name=\"Chromium\"", |
| 322 signed_text); | 322 signed_text); |
| 323 } | 323 } |
| OLD | NEW |