diff --git a/packages/teleterm/README.md b/packages/teleterm/README.md index 00d0b3892..d1cc0fed5 100644 --- a/packages/teleterm/README.md +++ b/packages/teleterm/README.md @@ -143,6 +143,6 @@ lib/teleterm/api/protogen/ ```sh $ cd teleport -$ rm -rf ./../webapps/packages/teleterm/src/services/tshd/v1/ && cp -R lib/teleterm/api/protogen/js/v1/ ./../webapps/packages/teleterm/src/services/tshd/ +$ rm -rf ./../webapps/packages/teleterm/src/services/tshd/v1/ && cp -R lib/teleterm/api/protogen/js/v1 ./../webapps/packages/teleterm/src/services/tshd/v1 ``` diff --git a/packages/teleterm/src/services/tshd/createClient.ts b/packages/teleterm/src/services/tshd/createClient.ts index 130e82868..9e72465c9 100644 --- a/packages/teleterm/src/services/tshd/createClient.ts +++ b/packages/teleterm/src/services/tshd/createClient.ts @@ -149,10 +149,10 @@ export default function createClient(addr: string) { }, async login(params: types.LoginParams, abortSignal?: types.TshAbortSignal) { - const ssoParams = params.oss + const ssoParams = params.sso ? new api.LoginRequest.SsoParams() - .setProviderName(params.oss.providerName) - .setProviderType(params.oss.providerType) + .setProviderName(params.sso.providerName) + .setProviderType(params.sso.providerType) : null; const localParams = params.local @@ -163,10 +163,15 @@ export default function createClient(addr: string) { : null; return withAbort(abortSignal, callRef => { - const req = new api.LoginRequest() - .setClusterUri(params.clusterUri) - .setSso(ssoParams) - .setLocal(localParams); + const req = new api.LoginRequest().setClusterUri(params.clusterUri); + + // LoginRequest has oneof on `Local` and `Sso`, which means that setting one of them clears + // the other. + if (ssoParams) { + req.setSso(ssoParams); + } else { + req.setLocal(localParams); + } return new Promise((resolve, reject) => { callRef.current = tshd.login(req, err => { diff --git a/packages/teleterm/src/services/tshd/types.ts b/packages/teleterm/src/services/tshd/types.ts index 3ddd8d60b..8bb8071c3 100644 --- a/packages/teleterm/src/services/tshd/types.ts +++ b/packages/teleterm/src/services/tshd/types.ts @@ -48,7 +48,7 @@ export type TshAbortSignal = { export type LoginParams = { clusterUri: string; - oss?: { + sso?: { providerType: string; providerName: string; }; diff --git a/packages/teleterm/src/services/tshd/v1/auth_challenge_grpc_pb.js b/packages/teleterm/src/services/tshd/v1/auth_challenge_grpc_pb.js deleted file mode 100644 index 97b3a2461..000000000 --- a/packages/teleterm/src/services/tshd/v1/auth_challenge_grpc_pb.js +++ /dev/null @@ -1 +0,0 @@ -// GENERATED CODE -- NO SERVICES IN PROTO \ No newline at end of file diff --git a/packages/teleterm/src/services/tshd/v1/auth_challenge_pb.d.ts b/packages/teleterm/src/services/tshd/v1/auth_challenge_pb.d.ts deleted file mode 100644 index 9d4decfa4..000000000 --- a/packages/teleterm/src/services/tshd/v1/auth_challenge_pb.d.ts +++ /dev/null @@ -1,108 +0,0 @@ -// package: teleport.terminal.v1 -// file: v1/auth_challenge.proto - -/* tslint:disable */ -/* eslint-disable */ - -import * as jspb from "google-protobuf"; - -export class AuthChallengeU2F extends jspb.Message { - getKeyHandle(): string; - setKeyHandle(value: string): AuthChallengeU2F; - - getChallenge(): string; - setChallenge(value: string): AuthChallengeU2F; - - getAppId(): string; - setAppId(value: string): AuthChallengeU2F; - - getVersion(): string; - setVersion(value: string): AuthChallengeU2F; - - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): AuthChallengeU2F.AsObject; - static toObject(includeInstance: boolean, msg: AuthChallengeU2F): AuthChallengeU2F.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: AuthChallengeU2F, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): AuthChallengeU2F; - static deserializeBinaryFromReader(message: AuthChallengeU2F, reader: jspb.BinaryReader): AuthChallengeU2F; -} - -export namespace AuthChallengeU2F { - export type AsObject = { - keyHandle: string, - challenge: string, - appId: string, - version: string, - } -} - -export class ChallengeU2F extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ChallengeU2F.AsObject; - static toObject(includeInstance: boolean, msg: ChallengeU2F): ChallengeU2F.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ChallengeU2F, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ChallengeU2F; - static deserializeBinaryFromReader(message: ChallengeU2F, reader: jspb.BinaryReader): ChallengeU2F; -} - -export namespace ChallengeU2F { - export type AsObject = { - } -} - -export class ChallengeTOTP extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): ChallengeTOTP.AsObject; - static toObject(includeInstance: boolean, msg: ChallengeTOTP): ChallengeTOTP.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: ChallengeTOTP, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): ChallengeTOTP; - static deserializeBinaryFromReader(message: ChallengeTOTP, reader: jspb.BinaryReader): ChallengeTOTP; -} - -export namespace ChallengeTOTP { - export type AsObject = { - } -} - -export class SolvedChallengeU2F extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SolvedChallengeU2F.AsObject; - static toObject(includeInstance: boolean, msg: SolvedChallengeU2F): SolvedChallengeU2F.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SolvedChallengeU2F, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SolvedChallengeU2F; - static deserializeBinaryFromReader(message: SolvedChallengeU2F, reader: jspb.BinaryReader): SolvedChallengeU2F; -} - -export namespace SolvedChallengeU2F { - export type AsObject = { - } -} - -export class SolvedChallengeTOTP extends jspb.Message { - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): SolvedChallengeTOTP.AsObject; - static toObject(includeInstance: boolean, msg: SolvedChallengeTOTP): SolvedChallengeTOTP.AsObject; - static extensions: {[key: number]: jspb.ExtensionFieldInfo}; - static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: SolvedChallengeTOTP, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): SolvedChallengeTOTP; - static deserializeBinaryFromReader(message: SolvedChallengeTOTP, reader: jspb.BinaryReader): SolvedChallengeTOTP; -} - -export namespace SolvedChallengeTOTP { - export type AsObject = { - } -} diff --git a/packages/teleterm/src/services/tshd/v1/auth_challenge_pb.js b/packages/teleterm/src/services/tshd/v1/auth_challenge_pb.js deleted file mode 100644 index 2005ba5f3..000000000 --- a/packages/teleterm/src/services/tshd/v1/auth_challenge_pb.js +++ /dev/null @@ -1,749 +0,0 @@ -// source: v1/auth_challenge.proto -/** - * @fileoverview - * @enhanceable - * @suppress {messageConventions} JS Compiler reports an error if a variable or - * field starts with 'MSG_' and isn't a translatable message. - * @public - */ -// GENERATED CODE -- DO NOT EDIT! - -var jspb = require('google-protobuf'); -var goog = jspb; -var global = Function('return this')(); - -goog.exportSymbol('proto.teleport.terminal.v1.AuthChallengeU2F', null, global); -goog.exportSymbol('proto.teleport.terminal.v1.ChallengeTOTP', null, global); -goog.exportSymbol('proto.teleport.terminal.v1.ChallengeU2F', null, global); -goog.exportSymbol('proto.teleport.terminal.v1.SolvedChallengeTOTP', null, global); -goog.exportSymbol('proto.teleport.terminal.v1.SolvedChallengeU2F', null, global); -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.teleport.terminal.v1.AuthChallengeU2F = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.teleport.terminal.v1.AuthChallengeU2F, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.teleport.terminal.v1.AuthChallengeU2F.displayName = 'proto.teleport.terminal.v1.AuthChallengeU2F'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.teleport.terminal.v1.ChallengeU2F = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.teleport.terminal.v1.ChallengeU2F, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.teleport.terminal.v1.ChallengeU2F.displayName = 'proto.teleport.terminal.v1.ChallengeU2F'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.teleport.terminal.v1.ChallengeTOTP = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.teleport.terminal.v1.ChallengeTOTP, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.teleport.terminal.v1.ChallengeTOTP.displayName = 'proto.teleport.terminal.v1.ChallengeTOTP'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.teleport.terminal.v1.SolvedChallengeU2F = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.teleport.terminal.v1.SolvedChallengeU2F, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.teleport.terminal.v1.SolvedChallengeU2F.displayName = 'proto.teleport.terminal.v1.SolvedChallengeU2F'; -} -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.teleport.terminal.v1.SolvedChallengeTOTP, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.teleport.terminal.v1.SolvedChallengeTOTP.displayName = 'proto.teleport.terminal.v1.SolvedChallengeTOTP'; -} - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.toObject = function(opt_includeInstance) { - return proto.teleport.terminal.v1.AuthChallengeU2F.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.teleport.terminal.v1.AuthChallengeU2F} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.AuthChallengeU2F.toObject = function(includeInstance, msg) { - var f, obj = { - keyHandle: jspb.Message.getFieldWithDefault(msg, 1, ""), - challenge: jspb.Message.getFieldWithDefault(msg, 2, ""), - appId: jspb.Message.getFieldWithDefault(msg, 3, ""), - version: jspb.Message.getFieldWithDefault(msg, 4, "") - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.teleport.terminal.v1.AuthChallengeU2F} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.teleport.terminal.v1.AuthChallengeU2F; - return proto.teleport.terminal.v1.AuthChallengeU2F.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.teleport.terminal.v1.AuthChallengeU2F} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.teleport.terminal.v1.AuthChallengeU2F} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setKeyHandle(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setChallenge(value); - break; - case 3: - var value = /** @type {string} */ (reader.readString()); - msg.setAppId(value); - break; - case 4: - var value = /** @type {string} */ (reader.readString()); - msg.setVersion(value); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.teleport.terminal.v1.AuthChallengeU2F.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.teleport.terminal.v1.AuthChallengeU2F} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.AuthChallengeU2F.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getKeyHandle(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getChallenge(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getAppId(); - if (f.length > 0) { - writer.writeString( - 3, - f - ); - } - f = message.getVersion(); - if (f.length > 0) { - writer.writeString( - 4, - f - ); - } -}; - - -/** - * optional string key_handle = 1; - * @return {string} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.getKeyHandle = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.teleport.terminal.v1.AuthChallengeU2F} returns this - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.setKeyHandle = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string challenge = 2; - * @return {string} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.getChallenge = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.teleport.terminal.v1.AuthChallengeU2F} returns this - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.setChallenge = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * optional string app_id = 3; - * @return {string} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.getAppId = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, "")); -}; - - -/** - * @param {string} value - * @return {!proto.teleport.terminal.v1.AuthChallengeU2F} returns this - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.setAppId = function(value) { - return jspb.Message.setProto3StringField(this, 3, value); -}; - - -/** - * optional string version = 4; - * @return {string} - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.getVersion = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, "")); -}; - - -/** - * @param {string} value - * @return {!proto.teleport.terminal.v1.AuthChallengeU2F} returns this - */ -proto.teleport.terminal.v1.AuthChallengeU2F.prototype.setVersion = function(value) { - return jspb.Message.setProto3StringField(this, 4, value); -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.teleport.terminal.v1.ChallengeU2F.prototype.toObject = function(opt_includeInstance) { - return proto.teleport.terminal.v1.ChallengeU2F.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.teleport.terminal.v1.ChallengeU2F} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.ChallengeU2F.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.teleport.terminal.v1.ChallengeU2F} - */ -proto.teleport.terminal.v1.ChallengeU2F.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.teleport.terminal.v1.ChallengeU2F; - return proto.teleport.terminal.v1.ChallengeU2F.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.teleport.terminal.v1.ChallengeU2F} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.teleport.terminal.v1.ChallengeU2F} - */ -proto.teleport.terminal.v1.ChallengeU2F.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.teleport.terminal.v1.ChallengeU2F.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.teleport.terminal.v1.ChallengeU2F.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.teleport.terminal.v1.ChallengeU2F} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.ChallengeU2F.serializeBinaryToWriter = function(message, writer) { - var f = undefined; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.teleport.terminal.v1.ChallengeTOTP.prototype.toObject = function(opt_includeInstance) { - return proto.teleport.terminal.v1.ChallengeTOTP.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.teleport.terminal.v1.ChallengeTOTP} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.ChallengeTOTP.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.teleport.terminal.v1.ChallengeTOTP} - */ -proto.teleport.terminal.v1.ChallengeTOTP.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.teleport.terminal.v1.ChallengeTOTP; - return proto.teleport.terminal.v1.ChallengeTOTP.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.teleport.terminal.v1.ChallengeTOTP} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.teleport.terminal.v1.ChallengeTOTP} - */ -proto.teleport.terminal.v1.ChallengeTOTP.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.teleport.terminal.v1.ChallengeTOTP.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.teleport.terminal.v1.ChallengeTOTP.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.teleport.terminal.v1.ChallengeTOTP} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.ChallengeTOTP.serializeBinaryToWriter = function(message, writer) { - var f = undefined; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.teleport.terminal.v1.SolvedChallengeU2F.prototype.toObject = function(opt_includeInstance) { - return proto.teleport.terminal.v1.SolvedChallengeU2F.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.teleport.terminal.v1.SolvedChallengeU2F} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.SolvedChallengeU2F.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.teleport.terminal.v1.SolvedChallengeU2F} - */ -proto.teleport.terminal.v1.SolvedChallengeU2F.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.teleport.terminal.v1.SolvedChallengeU2F; - return proto.teleport.terminal.v1.SolvedChallengeU2F.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.teleport.terminal.v1.SolvedChallengeU2F} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.teleport.terminal.v1.SolvedChallengeU2F} - */ -proto.teleport.terminal.v1.SolvedChallengeU2F.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.teleport.terminal.v1.SolvedChallengeU2F.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.teleport.terminal.v1.SolvedChallengeU2F.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.teleport.terminal.v1.SolvedChallengeU2F} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.SolvedChallengeU2F.serializeBinaryToWriter = function(message, writer) { - var f = undefined; -}; - - - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP.prototype.toObject = function(opt_includeInstance) { - return proto.teleport.terminal.v1.SolvedChallengeTOTP.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.teleport.terminal.v1.SolvedChallengeTOTP} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP.toObject = function(includeInstance, msg) { - var f, obj = { - - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.teleport.terminal.v1.SolvedChallengeTOTP} - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.teleport.terminal.v1.SolvedChallengeTOTP; - return proto.teleport.terminal.v1.SolvedChallengeTOTP.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.teleport.terminal.v1.SolvedChallengeTOTP} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.teleport.terminal.v1.SolvedChallengeTOTP} - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.teleport.terminal.v1.SolvedChallengeTOTP.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.teleport.terminal.v1.SolvedChallengeTOTP} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.teleport.terminal.v1.SolvedChallengeTOTP.serializeBinaryToWriter = function(message, writer) { - var f = undefined; -}; - - -goog.object.extend(exports, proto.teleport.terminal.v1); diff --git a/packages/teleterm/src/services/tshd/v1/cluster_pb.js b/packages/teleterm/src/services/tshd/v1/cluster_pb.js index 6fbf12ccf..3e023f7f0 100644 --- a/packages/teleterm/src/services/tshd/v1/cluster_pb.js +++ b/packages/teleterm/src/services/tshd/v1/cluster_pb.js @@ -792,7 +792,7 @@ proto.teleport.terminal.v1.ACL.deserializeBinaryFromReader = function(msg, reade reader.readMessage(value,proto.teleport.terminal.v1.ResourceAccess.deserializeBinaryFromReader); msg.setKubeservers(value); break; - case 13: + case 12: var value = new proto.teleport.terminal.v1.ResourceAccess; reader.readMessage(value,proto.teleport.terminal.v1.ResourceAccess.deserializeBinaryFromReader); msg.setAccessRequests(value); @@ -917,7 +917,7 @@ proto.teleport.terminal.v1.ACL.serializeBinaryToWriter = function(message, write f = message.getAccessRequests(); if (f != null) { writer.writeMessage( - 13, + 12, f, proto.teleport.terminal.v1.ResourceAccess.serializeBinaryToWriter ); @@ -1333,12 +1333,12 @@ proto.teleport.terminal.v1.ACL.prototype.hasKubeservers = function() { /** - * optional ResourceAccess access_requests = 13; + * optional ResourceAccess access_requests = 12; * @return {?proto.teleport.terminal.v1.ResourceAccess} */ proto.teleport.terminal.v1.ACL.prototype.getAccessRequests = function() { return /** @type{?proto.teleport.terminal.v1.ResourceAccess} */ ( - jspb.Message.getWrapperField(this, proto.teleport.terminal.v1.ResourceAccess, 13)); + jspb.Message.getWrapperField(this, proto.teleport.terminal.v1.ResourceAccess, 12)); }; @@ -1347,7 +1347,7 @@ proto.teleport.terminal.v1.ACL.prototype.getAccessRequests = function() { * @return {!proto.teleport.terminal.v1.ACL} returns this */ proto.teleport.terminal.v1.ACL.prototype.setAccessRequests = function(value) { - return jspb.Message.setWrapperField(this, 13, value); + return jspb.Message.setWrapperField(this, 12, value); }; @@ -1365,7 +1365,7 @@ proto.teleport.terminal.v1.ACL.prototype.clearAccessRequests = function() { * @return {boolean} */ proto.teleport.terminal.v1.ACL.prototype.hasAccessRequests = function() { - return jspb.Message.getField(this, 13) != null; + return jspb.Message.getField(this, 12) != null; }; diff --git a/packages/teleterm/src/services/tshd/v1/service_grpc_pb.js b/packages/teleterm/src/services/tshd/v1/service_grpc_pb.js index bad0aa6a8..32469d2d1 100644 --- a/packages/teleterm/src/services/tshd/v1/service_grpc_pb.js +++ b/packages/teleterm/src/services/tshd/v1/service_grpc_pb.js @@ -1,5 +1,20 @@ // GENERATED CODE -- DO NOT EDIT! +// Original file comments: +// Copyright 2021 Gravitational, Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// 'use strict'; var grpc = require('@grpc/grpc-js'); var v1_service_pb = require('../v1/service_pb.js'); diff --git a/packages/teleterm/src/services/tshd/v1/service_pb.d.ts b/packages/teleterm/src/services/tshd/v1/service_pb.d.ts index aa2fc3d51..c5ae913d8 100644 --- a/packages/teleterm/src/services/tshd/v1/service_pb.d.ts +++ b/packages/teleterm/src/services/tshd/v1/service_pb.d.ts @@ -94,6 +94,8 @@ export class LoginRequest extends jspb.Message { setSso(value?: LoginRequest.SsoParams): LoginRequest; + getParamsCase(): LoginRequest.ParamsCase; + serializeBinary(): Uint8Array; toObject(includeInstance?: boolean): LoginRequest.AsObject; static toObject(includeInstance: boolean, msg: LoginRequest): LoginRequest.AsObject; @@ -166,6 +168,16 @@ export namespace LoginRequest { } } + + export enum ParamsCase { + PARAMS_NOT_SET = 0, + + LOCAL = 2, + + SSO = 3, + + } + } export class AddClusterRequest extends jspb.Message { diff --git a/packages/teleterm/src/services/tshd/v1/service_pb.js b/packages/teleterm/src/services/tshd/v1/service_pb.js index b0486c3c7..04996fb15 100644 --- a/packages/teleterm/src/services/tshd/v1/service_pb.js +++ b/packages/teleterm/src/services/tshd/v1/service_pb.js @@ -48,6 +48,7 @@ goog.exportSymbol('proto.teleport.terminal.v1.ListServersRequest', null, global) goog.exportSymbol('proto.teleport.terminal.v1.ListServersResponse', null, global); goog.exportSymbol('proto.teleport.terminal.v1.LoginRequest', null, global); goog.exportSymbol('proto.teleport.terminal.v1.LoginRequest.LocalParams', null, global); +goog.exportSymbol('proto.teleport.terminal.v1.LoginRequest.ParamsCase', null, global); goog.exportSymbol('proto.teleport.terminal.v1.LoginRequest.SsoParams', null, global); goog.exportSymbol('proto.teleport.terminal.v1.LogoutRequest', null, global); goog.exportSymbol('proto.teleport.terminal.v1.RemoveClusterRequest', null, global); @@ -126,7 +127,7 @@ if (goog.DEBUG && !COMPILED) { * @constructor */ proto.teleport.terminal.v1.LoginRequest = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); + jspb.Message.initialize(this, opt_data, 0, -1, null, proto.teleport.terminal.v1.LoginRequest.oneofGroups_); }; goog.inherits(proto.teleport.terminal.v1.LoginRequest, jspb.Message); if (goog.DEBUG && !COMPILED) { @@ -947,6 +948,32 @@ proto.teleport.terminal.v1.LogoutRequest.prototype.setClusterUri = function(valu +/** + * Oneof group definitions for this message. Each group defines the field + * numbers belonging to that group. When of these fields' value is set, all + * other fields in the group are cleared. During deserialization, if multiple + * fields are encountered for a group, only the last value seen will be kept. + * @private {!Array>} + * @const + */ +proto.teleport.terminal.v1.LoginRequest.oneofGroups_ = [[2,3]]; + +/** + * @enum {number} + */ +proto.teleport.terminal.v1.LoginRequest.ParamsCase = { + PARAMS_NOT_SET: 0, + LOCAL: 2, + SSO: 3 +}; + +/** + * @return {proto.teleport.terminal.v1.LoginRequest.ParamsCase} + */ +proto.teleport.terminal.v1.LoginRequest.prototype.getParamsCase = function() { + return /** @type {proto.teleport.terminal.v1.LoginRequest.ParamsCase} */(jspb.Message.computeOneofCase(this, proto.teleport.terminal.v1.LoginRequest.oneofGroups_[0])); +}; + if (jspb.Message.GENERATE_TO_OBJECT) { @@ -1469,7 +1496,7 @@ proto.teleport.terminal.v1.LoginRequest.prototype.getLocal = function() { * @return {!proto.teleport.terminal.v1.LoginRequest} returns this */ proto.teleport.terminal.v1.LoginRequest.prototype.setLocal = function(value) { - return jspb.Message.setWrapperField(this, 2, value); + return jspb.Message.setOneofWrapperField(this, 2, proto.teleport.terminal.v1.LoginRequest.oneofGroups_[0], value); }; @@ -1506,7 +1533,7 @@ proto.teleport.terminal.v1.LoginRequest.prototype.getSso = function() { * @return {!proto.teleport.terminal.v1.LoginRequest} returns this */ proto.teleport.terminal.v1.LoginRequest.prototype.setSso = function(value) { - return jspb.Message.setWrapperField(this, 3, value); + return jspb.Message.setOneofWrapperField(this, 3, proto.teleport.terminal.v1.LoginRequest.oneofGroups_[0], value); }; diff --git a/packages/teleterm/src/ui/ClusterConnect/ClusterLogin/useClusterLogin.ts b/packages/teleterm/src/ui/ClusterConnect/ClusterLogin/useClusterLogin.ts index 9d2a9b2b1..55117506c 100644 --- a/packages/teleterm/src/ui/ClusterConnect/ClusterLogin/useClusterLogin.ts +++ b/packages/teleterm/src/ui/ClusterConnect/ClusterLogin/useClusterLogin.ts @@ -57,7 +57,7 @@ export default function useClusterLogin(props: Props) { promptSsoStatus(true); login({ clusterUri, - oss: { + sso: { providerName: provider.name, providerType: provider.type, }, diff --git a/packages/teleterm/src/ui/services/clusters/clustersService.test.ts b/packages/teleterm/src/ui/services/clusters/clustersService.test.ts index 565bd9b13..2103c8e0f 100644 --- a/packages/teleterm/src/ui/services/clusters/clustersService.test.ts +++ b/packages/teleterm/src/ui/services/clusters/clustersService.test.ts @@ -185,7 +185,6 @@ test('login into cluster and sync resources', async () => { const loginParams = { clusterUri, local: { username: 'admin', password: 'admin', token: '1234' }, - oss: { providerType: 'github', providerName: 'GitHub' }, }; await service.login(loginParams, undefined); @@ -418,4 +417,5 @@ test.each([ }); expect(foundServers).toStrictEqual([serverMock]); -}); \ No newline at end of file +}); +