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

Issue 12326090: Third Party authentication protocol. (Closed)

Created:
7 years, 10 months ago by rmsousa
Modified:
7 years, 9 months ago
Reviewers:
Sergey Ulanov, Wez
CC:
chromium-reviews, jamiewalch+watch_chromium.org, dcaiafa+watch_chromium.org, simonmorris+watch_chromium.org, hclam+watch_chromium.org, wez+watch_chromium.org, amit, sanjeevr, sail+watch_chromium.org, garykac+watch_chromium.org, lambroslambrou+watch_chromium.org, rmsousa+watch_chromium.org, alexeypa+watch_chromium.org, sergeyu+watch_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@host_key_pair
Visibility:
Public.

Description

Third Party authentication protocol. This adds a new Authenticator, that uses a third-party token service to authenticate clients and hosts and negotiate a shared secret. The client authenticates with the third-party service, and obtains a token and a shared secret. The token is sent directly to the host, the shared secret is used to initiate a SPAKE authentication. The host receives the token, and asks the third-party server to exchange it for the shared secret (authenticating itself by signing the request with the host private key). Once it gets the shared secret, client and host are able to finish the SPAKE negotiation. BUG=115899 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=190024

Patch Set 1 #

Patch Set 2 : Add the missing new files #

Total comments: 85

Patch Set 3 : Rebase with async process message, separate client and host #

Patch Set 4 : TokenFetcher/Validator ownership, move parameters to Validator, remove client/host glue #

Total comments: 60

Patch Set 5 : Split authenticator into base, client, host #

Total comments: 30

Patch Set 6 : Rebase #

Patch Set 7 : Reviewer comments #

Patch Set 8 : Missing moved file. #

Total comments: 24

Patch Set 9 : Reviewer comments #

Total comments: 72

Patch Set 10 : Reviewer comments #

Patch Set 11 : REviewer comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+786 lines, -16 lines) Patch
M remoting/protocol/authentication_method.h View 1 2 3 4 5 6 7 8 9 4 chunks +13 lines, -5 lines 0 comments Download
M remoting/protocol/authentication_method.cc View 1 2 3 4 5 6 7 8 9 5 chunks +21 lines, -11 lines 0 comments Download
M remoting/protocol/authenticator_test_base.h View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M remoting/protocol/authenticator_test_base.cc View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_authenticator_base.h View 1 2 3 4 5 6 7 8 1 chunk +78 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_authenticator_base.cc View 1 2 3 4 5 6 7 8 9 1 chunk +91 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_authenticator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +219 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_client_authenticator.h View 1 2 3 4 5 6 7 8 9 1 chunk +86 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_client_authenticator.cc View 1 2 3 4 5 6 7 8 9 1 chunk +84 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_host_authenticator.h View 1 2 3 4 5 6 7 8 9 1 chunk +86 lines, -0 lines 0 comments Download
A remoting/protocol/third_party_host_authenticator.cc View 1 2 3 4 5 6 7 8 9 1 chunk +94 lines, -0 lines 0 comments Download
M remoting/remoting.gyp View 1 2 3 4 5 6 7 8 2 chunks +7 lines, -0 lines 0 comments Download

Messages

Total messages: 18 (0 generated)
rmsousa
Hi Wez, This is the protocol part of the Third Party authentication, moved to a ...
7 years, 10 months ago (2013-02-23 03:18:31 UTC) #1
Wez
On 2013/02/23 03:18:31, rmsousa wrote: > Hi Wez, > > This is the protocol part ...
7 years, 10 months ago (2013-02-23 03:46:51 UTC) #2
Sergey Ulanov
I suggest separating implementation into two classes - one for host and one for client ...
7 years, 10 months ago (2013-02-26 01:14:50 UTC) #3
Wez
Initial comments; apologies for the delay. https://codereview.chromium.org/12326090/diff/3001/remoting/protocol/authenticator.h File remoting/protocol/authenticator.h (right): https://codereview.chromium.org/12326090/diff/3001/remoting/protocol/authenticator.h#newcode42 remoting/protocol/authenticator.h:42: // WAITING_MESSAGE -> ...
7 years, 10 months ago (2013-02-27 07:05:30 UTC) #4
rmsousa
PTAL. I removed the client/host glue from this CL (negotiating_authenticator and *2me_authenticator_factory), since they make ...
7 years, 9 months ago (2013-03-05 03:30:24 UTC) #5
Sergey Ulanov
Haven't looked at everything yet. Have a quick comment about classes layout. https://chromiumcodereview.appspot.com/12326090/diff/16007/remoting/protocol/third_party_authenticator.cc File remoting/protocol/third_party_authenticator.cc ...
7 years, 9 months ago (2013-03-05 04:09:11 UTC) #6
Wez
https://chromiumcodereview.appspot.com/12326090/diff/16007/remoting/protocol/authentication_method.cc File remoting/protocol/authentication_method.cc (right): https://chromiumcodereview.appspot.com/12326090/diff/16007/remoting/protocol/authentication_method.cc#newcode95 remoting/protocol/authentication_method.cc:95: return "third_party"; nit: No need for {} on single-line ...
7 years, 9 months ago (2013-03-05 22:55:53 UTC) #7
rmsousa
Just replying to comments, I'll start preparing another CL with the NegotiatingAuthenticator/Client code changes to ...
7 years, 9 months ago (2013-03-06 00:54:16 UTC) #8
Sergey Ulanov
https://codereview.chromium.org/12326090/diff/26001/remoting/protocol/third_party_authenticator_base.cc File remoting/protocol/third_party_authenticator_base.cc (right): https://codereview.chromium.org/12326090/diff/26001/remoting/protocol/third_party_authenticator_base.cc#newcode21 remoting/protocol/third_party_authenticator_base.cc:21: const buzz::StaticQName ThirdPartyAuthenticatorBase::kTokenUrlTag = { nit: it's more readable ...
7 years, 9 months ago (2013-03-07 21:20:41 UTC) #9
rmsousa
PTAL I based this on top of https://codereview.chromium.org/12518027/, so that the first message is always ...
7 years, 9 months ago (2013-03-20 01:30:16 UTC) #10
Sergey Ulanov
https://codereview.chromium.org/12326090/diff/43003/remoting/protocol/authentication_method.cc File remoting/protocol/authentication_method.cc (right): https://codereview.chromium.org/12326090/diff/43003/remoting/protocol/authentication_method.cc#newcode94 remoting/protocol/authentication_method.cc:94: if (requires_token_) { nit: drop {} https://codereview.chromium.org/12326090/diff/43003/remoting/protocol/authentication_method.cc#newcode116 remoting/protocol/authentication_method.cc:116: return ...
7 years, 9 months ago (2013-03-20 07:24:12 UTC) #11
rmsousa
https://codereview.chromium.org/12326090/diff/43003/remoting/protocol/authentication_method.cc File remoting/protocol/authentication_method.cc (right): https://codereview.chromium.org/12326090/diff/43003/remoting/protocol/authentication_method.cc#newcode94 remoting/protocol/authentication_method.cc:94: if (requires_token_) { On 2013/03/20 07:24:12, sergeyu wrote: > ...
7 years, 9 months ago (2013-03-21 01:23:25 UTC) #12
Sergey Ulanov
lgtm https://codereview.chromium.org/12326090/diff/61001/remoting/protocol/authentication_method.cc File remoting/protocol/authentication_method.cc (right): https://codereview.chromium.org/12326090/diff/61001/remoting/protocol/authentication_method.cc#newcode82 remoting/protocol/authentication_method.cc:82: } DCHECK_NE(type_, INVALID); https://codereview.chromium.org/12326090/diff/61001/remoting/protocol/authentication_method.cc#newcode95 remoting/protocol/authentication_method.cc:95: DCHECK(method_type_ == SPAKE2); ...
7 years, 9 months ago (2013-03-22 05:58:43 UTC) #13
Wez
https://chromiumcodereview.appspot.com/12326090/diff/61001/remoting/protocol/authentication_method.h File remoting/protocol/authentication_method.h (right): https://chromiumcodereview.appspot.com/12326090/diff/61001/remoting/protocol/authentication_method.h#newcode30 remoting/protocol/authentication_method.h:30: enum HashFunction { Given that HashFunction only applies to ...
7 years, 9 months ago (2013-03-22 06:17:00 UTC) #14
rmsousa
https://codereview.chromium.org/12326090/diff/61001/remoting/protocol/authentication_method.cc File remoting/protocol/authentication_method.cc (right): https://codereview.chromium.org/12326090/diff/61001/remoting/protocol/authentication_method.cc#newcode82 remoting/protocol/authentication_method.cc:82: } On 2013/03/22 05:58:43, sergeyu wrote: > DCHECK_NE(type_, INVALID); ...
7 years, 9 months ago (2013-03-22 21:19:05 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rmsousa@chromium.org/12326090/66004
7 years, 9 months ago (2013-03-22 21:29:45 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/rmsousa@chromium.org/12326090/66004
7 years, 9 months ago (2013-03-23 14:42:57 UTC) #17
commit-bot: I haz the power
7 years, 9 months ago (2013-03-23 16:27:55 UTC) #18
Message was sent while issue was closed.
Change committed as 190024

Powered by Google App Engine
This is Rietveld 408576698