Index: chrome/browser/internal_auth.h |
diff --git a/chrome/browser/internal_auth.h b/chrome/browser/internal_auth.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..24b76ed0f720a5574233933c279c0198d4562af4 |
--- /dev/null |
+++ b/chrome/browser/internal_auth.h |
@@ -0,0 +1,65 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_INTERNAL_AUTH_H_ |
+#define CHROME_BROWSER_INTERNAL_AUTH_H_ |
+#pragma once |
+ |
+#include <map> |
+#include <string> |
+#include <vector> |
+ |
+class InternalAuthGetTokenFunction; |
+ |
+namespace browser { |
+ |
+// Helper fuction to convert list of var=value strings into map. Returns true |
+// on success. |
+bool ConvertArgListToVarValueMap( |
+ const std::vector<std::string>& arg_list, |
+ std::map<std::string, std::string>* out); |
+ |
+// Call InternalAuthVerification methods on any thread. |
+class InternalAuthVerification { |
+ public: |
+ // Used by consumer of token in order to verify credentials. |
+ static bool VerifyToken( |
+ const std::string& token, |
+ const std::string& holder_id, |
+ const std::vector<std::string>& arg_list); |
+ |
+ // Used by consumer of token in order to verify credentials. |
+ static bool VerifyToken( |
+ const std::string& token, |
+ const std::string& holder_id, |
+ const std::map<std::string, std::string>& var_value_map); |
+ |
+ private: |
+ friend class InternalAuthGeneration; |
+ |
+ // We allow easy separation of InternalAuthVerification and |
+ // InternalAuthGeneration so the only thing they share is a key (regenerated |
+ // infrequently). |
+ static void ChangeKey(const std::string& key); |
+}; |
+ |
+// Call InternalAuthGeneration methods on UI thread. |
+class InternalAuthGeneration { |
+ private: |
+ friend class ::InternalAuthGetTokenFunction; |
+ |
+ // Generates token; do this only after successful check of credentials. |
+ static std::string GenerateToken( |
+ const std::string& holder_id, |
+ const std::vector<std::string>& arg_list); |
+ |
+ // Generates token; do this only after successful check of credentials. |
+ static std::string GenerateToken( |
+ const std::string& holder_id, |
+ const std::map<std::string, std::string>& var_value_map); |
+}; |
+ |
+} // namespace browser |
+ |
+#endif // CHROME_BROWSER_INTERNAL_AUTH_H_ |