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

Side by Side Diff: remoting/protocol/me2me_host_authenticator_factory.h

Issue 134523007: Fix JID checking for cases where the user account does not have a Google email associated with it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 #ifndef REMOTING_PROTOCOL_ME2ME_HOST_AUTHENTICATOR_FACTORY_H_ 5 #ifndef REMOTING_PROTOCOL_ME2ME_HOST_AUTHENTICATOR_FACTORY_H_
6 #define REMOTING_PROTOCOL_ME2ME_HOST_AUTHENTICATOR_FACTORY_H_ 6 #define REMOTING_PROTOCOL_ME2ME_HOST_AUTHENTICATOR_FACTORY_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/memory/ref_counted.h" 12 #include "base/memory/ref_counted.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "remoting/protocol/authentication_method.h" 14 #include "remoting/protocol/authentication_method.h"
15 #include "remoting/protocol/authenticator.h" 15 #include "remoting/protocol/authenticator.h"
16 #include "remoting/protocol/third_party_host_authenticator.h" 16 #include "remoting/protocol/third_party_host_authenticator.h"
17 17
18 namespace remoting { 18 namespace remoting {
19 19
20 class RsaKeyPair; 20 class RsaKeyPair;
21 21
22 namespace protocol { 22 namespace protocol {
23 23
24 class PairingRegistry; 24 class PairingRegistry;
25 25
26 class Me2MeHostAuthenticatorFactory : public AuthenticatorFactory { 26 class Me2MeHostAuthenticatorFactory : public AuthenticatorFactory {
27 public: 27 public:
28 // Create a factory that dispenses shared secret authenticators. 28 // Create a factory that dispenses shared secret authenticators.
29 static scoped_ptr<AuthenticatorFactory> CreateWithSharedSecret( 29 static scoped_ptr<AuthenticatorFactory> CreateWithSharedSecret(
30 bool use_service_account,
30 const std::string& host_owner, 31 const std::string& host_owner,
31 const std::string& local_cert, 32 const std::string& local_cert,
32 scoped_refptr<RsaKeyPair> key_pair, 33 scoped_refptr<RsaKeyPair> key_pair,
33 const SharedSecretHash& shared_secret_hash, 34 const SharedSecretHash& shared_secret_hash,
34 scoped_refptr<PairingRegistry> pairing_registry); 35 scoped_refptr<PairingRegistry> pairing_registry);
35 36
36 // Create a factory that dispenses third party authenticators. 37 // Create a factory that dispenses third party authenticators.
37 static scoped_ptr<AuthenticatorFactory> CreateWithThirdPartyAuth( 38 static scoped_ptr<AuthenticatorFactory> CreateWithThirdPartyAuth(
39 bool use_service_account,
38 const std::string& host_owner, 40 const std::string& host_owner,
39 const std::string& local_cert, 41 const std::string& local_cert,
40 scoped_refptr<RsaKeyPair> key_pair, 42 scoped_refptr<RsaKeyPair> key_pair,
41 scoped_ptr<ThirdPartyHostAuthenticator::TokenValidatorFactory> 43 scoped_ptr<ThirdPartyHostAuthenticator::TokenValidatorFactory>
42 token_validator_factory); 44 token_validator_factory);
43 45
44 // Create a factory that dispenses rejecting authenticators (used when the 46 // Create a factory that dispenses rejecting authenticators (used when the
45 // host config/policy is inconsistent) 47 // host config/policy is inconsistent)
46 static scoped_ptr<AuthenticatorFactory> CreateRejecting(); 48 static scoped_ptr<AuthenticatorFactory> CreateRejecting();
47 49
48 Me2MeHostAuthenticatorFactory(); 50 Me2MeHostAuthenticatorFactory();
49 virtual ~Me2MeHostAuthenticatorFactory(); 51 virtual ~Me2MeHostAuthenticatorFactory();
50 52
51 // AuthenticatorFactory interface. 53 // AuthenticatorFactory interface.
52 virtual scoped_ptr<Authenticator> CreateAuthenticator( 54 virtual scoped_ptr<Authenticator> CreateAuthenticator(
53 const std::string& local_jid, 55 const std::string& local_jid,
54 const std::string& remote_jid, 56 const std::string& remote_jid,
55 const buzz::XmlElement* first_message) OVERRIDE; 57 const buzz::XmlElement* first_message) OVERRIDE;
56 58
57 private: 59 private:
58 // Used for all host authenticators. 60 // Used for all host authenticators.
61 bool use_service_account_;
59 std::string host_owner_; 62 std::string host_owner_;
60 std::string local_cert_; 63 std::string local_cert_;
61 scoped_refptr<RsaKeyPair> key_pair_; 64 scoped_refptr<RsaKeyPair> key_pair_;
62 65
63 // Used only for shared secret host authenticators. 66 // Used only for shared secret host authenticators.
64 SharedSecretHash shared_secret_hash_; 67 SharedSecretHash shared_secret_hash_;
65 68
66 // Used only for third party host authenticators. 69 // Used only for third party host authenticators.
67 scoped_ptr<ThirdPartyHostAuthenticator::TokenValidatorFactory> 70 scoped_ptr<ThirdPartyHostAuthenticator::TokenValidatorFactory>
68 token_validator_factory_; 71 token_validator_factory_;
69 72
70 // Used only for pairing host authenticators. 73 // Used only for pairing host authenticators.
71 scoped_refptr<PairingRegistry> pairing_registry_; 74 scoped_refptr<PairingRegistry> pairing_registry_;
72 75
73 DISALLOW_COPY_AND_ASSIGN(Me2MeHostAuthenticatorFactory); 76 DISALLOW_COPY_AND_ASSIGN(Me2MeHostAuthenticatorFactory);
74 }; 77 };
75 78
76 } // namespace protocol 79 } // namespace protocol
77 } // namespace remoting 80 } // namespace remoting
78 81
79 #endif // REMOTING_PROTOCOL_ME2ME_HOST_AUTHENTICATOR_FACTORY_H_ 82 #endif // REMOTING_PROTOCOL_ME2ME_HOST_AUTHENTICATOR_FACTORY_H_
OLDNEW
« no previous file with comments | « remoting/host/remoting_me2me_host.cc ('k') | remoting/protocol/me2me_host_authenticator_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698