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

Unified Diff: remoting/webapp/session_connector.js

Issue 12905012: Webapp changes to support third party authentication (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase, update patch Created 7 years, 8 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
« no previous file with comments | « remoting/webapp/remoting.js ('k') | remoting/webapp/third_party_host_permissions.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: remoting/webapp/session_connector.js
diff --git a/remoting/webapp/session_connector.js b/remoting/webapp/session_connector.js
index 649d129f84f50fdddf78418e4e002b6f6e973a7c..935cfc8f821bba31ab1b2d8a6c6a1819e05f682d 100644
--- a/remoting/webapp/session_connector.js
+++ b/remoting/webapp/session_connector.js
@@ -118,13 +118,19 @@ remoting.SessionConnector.prototype.reset = function() {
this.pendingXhr_ = null;
/**
- * Function to interactively obtain the PIN from the user.
- * @type {function(function(string):void):void}
+ * @type {function(function(string):void): void}
* @private
*/
this.fetchPin_ = function(onPinFetched) {};
/**
+ * @type {function(string, string, function(string, string):void): void}
+ * @private
+ */
+ this.fetchThirdPartyToken_ = function(
+ tokenUrl, scope, onThirdPartyTokenFetched) {};
+
+ /**
* Host 'name', as displayed in the client tool-bar. For a Me2Me connection,
* this is the name of the host; for an IT2Me connection, it is the email
* address of the person sharing their computer.
@@ -141,15 +147,21 @@ remoting.SessionConnector.prototype.reset = function() {
* @param {remoting.Host} host The Me2Me host to which to connect.
* @param {function(function(string):void):void} fetchPin Function to
* interactively obtain the PIN from the user.
+ * @param {function(string, string, function(string, string): void): void}
+ * fetchThirdPartyToken Function to obtain a token from a third party
+ * authenticaiton server.
* @return {void} Nothing.
*/
-remoting.SessionConnector.prototype.connectMe2Me = function(host, fetchPin) {
+remoting.SessionConnector.prototype.connectMe2Me = function(
+ host, fetchPin, fetchThirdPartyToken) {
// Cancel any existing connect operation.
this.cancel();
this.hostId_ = host.hostId;
this.hostJid_ = host.jabberId;
+ this.hostPublicKey_ = host.publicKey;
this.fetchPin_ = fetchPin;
+ this.fetchThirdPartyToken_ = fetchThirdPartyToken;
this.hostDisplayName_ = host.hostName;
this.connectionMode_ = remoting.ClientSession.Mode.ME2ME;
this.createSessionIfReady_();
@@ -299,11 +311,11 @@ remoting.SessionConnector.prototype.createSessionIfReady_ = function() {
return;
}
- var securityTypes = 'spake2_hmac,spake2_plain';
+ var securityTypes = 'third_party,spake2_hmac,spake2_plain';
this.clientSession_ = new remoting.ClientSession(
this.hostJid_, this.clientJid_, this.hostPublicKey_, this.passPhrase_,
- this.fetchPin_, securityTypes, this.hostId_, this.connectionMode_,
- this.hostDisplayName_);
+ this.fetchPin_, this.fetchThirdPartyToken_, securityTypes, this.hostId_,
+ this.connectionMode_, this.hostDisplayName_);
this.clientSession_.logHostOfflineErrors(!this.refreshHostJidIfOffline_);
this.clientSession_.setOnStateChange(this.onStateChange_.bind(this));
this.clientSession_.createPluginAndConnect(this.pluginParent_);
@@ -393,7 +405,7 @@ remoting.SessionConnector.prototype.onHostListRefresh_ = function(success) {
if (success) {
var host = remoting.hostList.getHostForId(this.hostId_);
if (host) {
- this.connectMe2Me(host, this.fetchPin_);
+ this.connectMe2Me(host, this.fetchPin_, this.fetchThirdPartyToken_);
return;
}
}
« no previous file with comments | « remoting/webapp/remoting.js ('k') | remoting/webapp/third_party_host_permissions.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698