Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: remoting/protocol/third_party_host_authenticator.h

Issue 12313085: Host-side third party token validation (Closed) Base URL: http://git.chromium.org/chromium/src.git@third_party_auth_protocol
Patch Set: Reviewer comments Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/third_party_host_authenticator.h
diff --git a/remoting/protocol/third_party_host_authenticator.h b/remoting/protocol/third_party_host_authenticator.h
index b72ac054b13d37af1a391ba89cb23078ec32a312..6aeb1f74dfdffd59707b4acaf1766044dade8989 100644
--- a/remoting/protocol/third_party_host_authenticator.h
+++ b/remoting/protocol/third_party_host_authenticator.h
@@ -8,6 +8,7 @@
#include <string>
#include "base/callback.h"
+#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "googleurl/src/gurl.h"
#include "remoting/protocol/third_party_authenticator_base.h"
@@ -54,6 +55,22 @@ class ThirdPartyHostAuthenticator : public ThirdPartyAuthenticatorBase {
virtual const std::string& token_scope() const = 0;
};
+ class TokenValidatorFactory : public base::RefCounted<TokenValidatorFactory> {
+ public:
+ // Creates a TokenValidator. |local_jid| and |remote_jid| are used to create
+ // a token scope that is restricted to the current connection's JIDs.
+ virtual scoped_ptr<TokenValidator> CreateTokenValidator(
+ const std::string& local_jid,
+ const std::string& remote_jid) = 0;
+
+ // Returns true if third party authentication is enabled for this host.
+ virtual bool is_enabled() const = 0;
+
+ protected:
+ friend class base::RefCounted<TokenValidatorFactory>;
+ virtual ~TokenValidatorFactory() {}
+ };
+
// Creates a third-party host authenticator. |local_cert| and |key_pair| are
// used by the underlying V2Authenticator to create the SSL channels.
// |token_validator| contains the token parameters to be sent to the client

Powered by Google App Engine
This is Rietveld 408576698