@microsoft/teamsfx 0.4.2-alpha.e84c0d19.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,11 @@
1
- import { __extends, __awaiter, __generator } from 'tslib';
2
1
  import jwt_decode from 'jwt-decode';
2
+ import { __awaiter } from 'tslib';
3
3
  import * as microsoftTeams from '@microsoft/teams-js';
4
4
  import { PublicClientApplication } from '@azure/msal-browser';
5
5
  import { Client } from '@microsoft/microsoft-graph-client';
6
6
 
7
7
  // Copyright (c) Microsoft Corporation.
8
+ // Licensed under the MIT license.
8
9
  /**
9
10
  * Error code to trace the error types.
10
11
  * @beta
@@ -55,35 +56,35 @@ var ErrorCode;
55
56
  * Operation failed.
56
57
  */
57
58
  ErrorCode["FailedOperation"] = "FailedOperation";
59
+ /**
60
+ * Invalid response error.
61
+ */
62
+ ErrorCode["InvalidResponse"] = "InvalidResponse";
58
63
  })(ErrorCode || (ErrorCode = {}));
59
64
  /**
60
65
  * @internal
61
66
  */
62
- var ErrorMessage = /** @class */ (function () {
63
- function ErrorMessage() {
64
- }
65
- // InvalidConfiguration Error
66
- ErrorMessage.InvalidConfiguration = "{0} in configuration is invalid: {1}.";
67
- ErrorMessage.ConfigurationNotExists = "Configuration does not exist. {0}";
68
- ErrorMessage.ResourceConfigurationNotExists = "{0} resource configuration does not exist.";
69
- ErrorMessage.MissingResourceConfiguration = "Missing resource configuration with type: {0}, name: {1}.";
70
- ErrorMessage.AuthenticationConfigurationNotExists = "Authentication configuration does not exist.";
71
- // RuntimeNotSupported Error
72
- ErrorMessage.BrowserRuntimeNotSupported = "{0} is not supported in browser.";
73
- ErrorMessage.NodejsRuntimeNotSupported = "{0} is not supported in Node.";
74
- // Internal Error
75
- ErrorMessage.FailToAcquireTokenOnBehalfOfUser = "Failed to acquire access token on behalf of user: {0}";
76
- // ChannelNotSupported Error
77
- ErrorMessage.OnlyMSTeamsChannelSupported = "{0} is only supported in MS Teams Channel";
78
- return ErrorMessage;
79
- }());
67
+ class ErrorMessage {
68
+ }
69
+ // InvalidConfiguration Error
70
+ ErrorMessage.InvalidConfiguration = "{0} in configuration is invalid: {1}.";
71
+ ErrorMessage.ConfigurationNotExists = "Configuration does not exist. {0}";
72
+ ErrorMessage.ResourceConfigurationNotExists = "{0} resource configuration does not exist.";
73
+ ErrorMessage.MissingResourceConfiguration = "Missing resource configuration with type: {0}, name: {1}.";
74
+ ErrorMessage.AuthenticationConfigurationNotExists = "Authentication configuration does not exist.";
75
+ // RuntimeNotSupported Error
76
+ ErrorMessage.BrowserRuntimeNotSupported = "{0} is not supported in browser.";
77
+ ErrorMessage.NodejsRuntimeNotSupported = "{0} is not supported in Node.";
78
+ // Internal Error
79
+ ErrorMessage.FailToAcquireTokenOnBehalfOfUser = "Failed to acquire access token on behalf of user: {0}";
80
+ // ChannelNotSupported Error
81
+ ErrorMessage.OnlyMSTeamsChannelSupported = "{0} is only supported in MS Teams Channel";
80
82
  /**
81
83
  * Error class with code and message thrown by the SDK.
82
84
  *
83
85
  * @beta
84
86
  */
85
- var ErrorWithCode = /** @class */ (function (_super) {
86
- __extends(ErrorWithCode, _super);
87
+ class ErrorWithCode extends Error {
87
88
  /**
88
89
  * Constructor of ErrorWithCode.
89
90
  *
@@ -92,21 +93,17 @@ var ErrorWithCode = /** @class */ (function (_super) {
92
93
  *
93
94
  * @beta
94
95
  */
95
- function ErrorWithCode(message, code) {
96
- var _newTarget = this.constructor;
97
- var _this = this;
96
+ constructor(message, code) {
98
97
  if (!code) {
99
- _this = _super.call(this, message) || this;
100
- return _this;
98
+ super(message);
99
+ return this;
101
100
  }
102
- _this = _super.call(this, message) || this;
103
- Object.setPrototypeOf(_this, ErrorWithCode.prototype);
104
- _this.name = _newTarget.name + "." + code;
105
- _this.code = code;
106
- return _this;
101
+ super(message);
102
+ Object.setPrototypeOf(this, ErrorWithCode.prototype);
103
+ this.name = `${new.target.name}.${code}`;
104
+ this.code = code;
107
105
  }
108
- return ErrorWithCode;
109
- }(Error));
106
+ }
110
107
 
111
108
  // Copyright (c) Microsoft Corporation.
112
109
  // Licensed under the MIT license.
@@ -174,8 +171,8 @@ function setLogLevel(level) {
174
171
  function getLogLevel() {
175
172
  return internalLogger.level;
176
173
  }
177
- var InternalLogger = /** @class */ (function () {
178
- function InternalLogger(name, logLevel) {
174
+ class InternalLogger {
175
+ constructor(name, logLevel) {
179
176
  this.level = undefined;
180
177
  this.defaultLogger = {
181
178
  verbose: console.debug,
@@ -186,31 +183,31 @@ var InternalLogger = /** @class */ (function () {
186
183
  this.name = name;
187
184
  this.level = logLevel;
188
185
  }
189
- InternalLogger.prototype.error = function (message) {
190
- this.log(LogLevel.Error, function (x) { return x.error; }, message);
191
- };
192
- InternalLogger.prototype.warn = function (message) {
193
- this.log(LogLevel.Warn, function (x) { return x.warn; }, message);
194
- };
195
- InternalLogger.prototype.info = function (message) {
196
- this.log(LogLevel.Info, function (x) { return x.info; }, message);
197
- };
198
- InternalLogger.prototype.verbose = function (message) {
199
- this.log(LogLevel.Verbose, function (x) { return x.verbose; }, message);
200
- };
201
- InternalLogger.prototype.log = function (logLevel, logFunction, message) {
186
+ error(message) {
187
+ this.log(LogLevel.Error, (x) => x.error, message);
188
+ }
189
+ warn(message) {
190
+ this.log(LogLevel.Warn, (x) => x.warn, message);
191
+ }
192
+ info(message) {
193
+ this.log(LogLevel.Info, (x) => x.info, message);
194
+ }
195
+ verbose(message) {
196
+ this.log(LogLevel.Verbose, (x) => x.verbose, message);
197
+ }
198
+ log(logLevel, logFunction, message) {
202
199
  if (message.trim() === "") {
203
200
  return;
204
201
  }
205
- var timestamp = new Date().toUTCString();
206
- var logHeader;
202
+ const timestamp = new Date().toUTCString();
203
+ let logHeader;
207
204
  if (this.name) {
208
- logHeader = "[" + timestamp + "] : @microsoft/teamsfx - " + this.name + " : " + LogLevel[logLevel] + " - ";
205
+ logHeader = `[${timestamp}] : @microsoft/teamsfx - ${this.name} : ${LogLevel[logLevel]} - `;
209
206
  }
210
207
  else {
211
- logHeader = "[" + timestamp + "] : @microsoft/teamsfx : " + LogLevel[logLevel] + " - ";
208
+ logHeader = `[${timestamp}] : @microsoft/teamsfx : ${LogLevel[logLevel]} - `;
212
209
  }
213
- var logMessage = "" + logHeader + message;
210
+ const logMessage = `${logHeader}${message}`;
214
211
  if (this.level !== undefined && this.level <= logLevel) {
215
212
  if (this.customLogger) {
216
213
  logFunction(this.customLogger)(logMessage);
@@ -222,15 +219,14 @@ var InternalLogger = /** @class */ (function () {
222
219
  logFunction(this.defaultLogger)(logMessage);
223
220
  }
224
221
  }
225
- };
226
- return InternalLogger;
227
- }());
222
+ }
223
+ }
228
224
  /**
229
225
  * Logger instance used internally
230
226
  *
231
227
  * @internal
232
228
  */
233
- var internalLogger = new InternalLogger();
229
+ const internalLogger = new InternalLogger();
234
230
  /**
235
231
  * Set custom logger. Use the output functions if it's set. Priority is higher than setLogFunction.
236
232
  *
@@ -283,14 +279,14 @@ function setLogFunction(logFunction) {
283
279
  */
284
280
  function parseJwt(token) {
285
281
  try {
286
- var tokenObj = jwt_decode(token);
282
+ const tokenObj = jwt_decode(token);
287
283
  if (!tokenObj || !tokenObj.exp) {
288
284
  throw new ErrorWithCode("Decoded token is null or exp claim does not exists.", ErrorCode.InternalError);
289
285
  }
290
286
  return tokenObj;
291
287
  }
292
288
  catch (err) {
293
- var errorMsg = "Parse jwt token failed in node env with error: " + err.message;
289
+ const errorMsg = "Parse jwt token failed in node env with error: " + err.message;
294
290
  internalLogger.error(errorMsg);
295
291
  throw new ErrorWithCode(errorMsg, ErrorCode.InternalError);
296
292
  }
@@ -300,12 +296,12 @@ function parseJwt(token) {
300
296
  */
301
297
  function getUserInfoFromSsoToken(ssoToken) {
302
298
  if (!ssoToken) {
303
- var errorMsg = "SSO token is undefined.";
299
+ const errorMsg = "SSO token is undefined.";
304
300
  internalLogger.error(errorMsg);
305
301
  throw new ErrorWithCode(errorMsg, ErrorCode.InvalidParameter);
306
302
  }
307
- var tokenObject = parseJwt(ssoToken);
308
- var userInfo = {
303
+ const tokenObject = parseJwt(ssoToken);
304
+ const userInfo = {
309
305
  displayName: tokenObject.name,
310
306
  objectId: tokenObject.oid,
311
307
  preferredUserName: "",
@@ -323,12 +319,12 @@ function getUserInfoFromSsoToken(ssoToken) {
323
319
  */
324
320
  function getTenantIdAndLoginHintFromSsoToken(ssoToken) {
325
321
  if (!ssoToken) {
326
- var errorMsg = "SSO token is undefined.";
322
+ const errorMsg = "SSO token is undefined.";
327
323
  internalLogger.error(errorMsg);
328
324
  throw new ErrorWithCode(errorMsg, ErrorCode.InvalidParameter);
329
325
  }
330
- var tokenObject = parseJwt(ssoToken);
331
- var userInfo = {
326
+ const tokenObject = parseJwt(ssoToken);
327
+ const userInfo = {
332
328
  tid: tokenObject.tid,
333
329
  loginHint: tokenObject.ver === "2.0"
334
330
  ? tokenObject.preferred_username
@@ -341,29 +337,29 @@ function getTenantIdAndLoginHintFromSsoToken(ssoToken) {
341
337
  */
342
338
  function parseAccessTokenFromAuthCodeTokenResponse(tokenResponse) {
343
339
  try {
344
- var tokenResponseObject = typeof tokenResponse == "string"
340
+ const tokenResponseObject = typeof tokenResponse == "string"
345
341
  ? JSON.parse(tokenResponse)
346
342
  : tokenResponse;
347
343
  if (!tokenResponseObject || !tokenResponseObject.accessToken) {
348
- var errorMsg = "Get empty access token from Auth Code token response.";
344
+ const errorMsg = "Get empty access token from Auth Code token response.";
349
345
  internalLogger.error(errorMsg);
350
346
  throw new Error(errorMsg);
351
347
  }
352
- var token = tokenResponseObject.accessToken;
353
- var tokenObject = parseJwt(token);
348
+ const token = tokenResponseObject.accessToken;
349
+ const tokenObject = parseJwt(token);
354
350
  if (tokenObject.ver !== "1.0" && tokenObject.ver !== "2.0") {
355
- var errorMsg = "SSO token is not valid with an unknown version: " + tokenObject.ver;
351
+ const errorMsg = "SSO token is not valid with an unknown version: " + tokenObject.ver;
356
352
  internalLogger.error(errorMsg);
357
353
  throw new Error(errorMsg);
358
354
  }
359
- var accessToken = {
355
+ const accessToken = {
360
356
  token: token,
361
357
  expiresOnTimestamp: tokenObject.exp * 1000,
362
358
  };
363
359
  return accessToken;
364
360
  }
365
361
  catch (error) {
366
- var errorMsg = "Parse access token failed from Auth Code token response in node env with error: " +
362
+ const errorMsg = "Parse access token failed from Auth Code token response in node env with error: " +
367
363
  error.message;
368
364
  internalLogger.error(errorMsg);
369
365
  throw new ErrorWithCode(errorMsg, ErrorCode.InternalError);
@@ -383,12 +379,8 @@ function parseAccessTokenFromAuthCodeTokenResponse(tokenResponse) {
383
379
  *
384
380
  * @internal
385
381
  */
386
- function formatString(str) {
387
- var replacements = [];
388
- for (var _i = 1; _i < arguments.length; _i++) {
389
- replacements[_i - 1] = arguments[_i];
390
- }
391
- var args = replacements;
382
+ function formatString(str, ...replacements) {
383
+ const args = replacements;
392
384
  return str.replace(/{(\d+)}/g, function (match, number) {
393
385
  return typeof args[number] != "undefined" ? args[number] : match;
394
386
  });
@@ -406,17 +398,17 @@ function validateScopesType(value) {
406
398
  return;
407
399
  }
408
400
  // string array
409
- if (Array.isArray(value) && value.length > 0 && value.every(function (item) { return typeof item === "string"; })) {
401
+ if (Array.isArray(value) && value.length > 0 && value.every((item) => typeof item === "string")) {
410
402
  return;
411
403
  }
412
- var errorMsg = "The type of scopes is not valid, it must be string or string array";
404
+ const errorMsg = "The type of scopes is not valid, it must be string or string array";
413
405
  internalLogger.error(errorMsg);
414
406
  throw new ErrorWithCode(errorMsg, ErrorCode.InvalidParameter);
415
407
  }
416
408
  /**
417
409
  * @internal
418
410
  */
419
- var isNode = typeof process !== "undefined" &&
411
+ const isNode = typeof process !== "undefined" &&
420
412
  !!process.version &&
421
413
  !!process.versions &&
422
414
  !!process.versions.node;
@@ -426,7 +418,7 @@ var isNode = typeof process !== "undefined" &&
426
418
  * Global configuration instance
427
419
  *
428
420
  */
429
- var config;
421
+ let config;
430
422
  /**
431
423
  * Initialize configuration from environment variables or configuration object and set the global instance
432
424
  *
@@ -441,7 +433,7 @@ function loadConfiguration(configuration) {
441
433
  // browser environment
442
434
  if (!isNode) {
443
435
  if (!configuration) {
444
- var errorMsg = "You are running the code in browser. Configuration must be passed in.";
436
+ const errorMsg = "You are running the code in browser. Configuration must be passed in.";
445
437
  internalLogger.error(errorMsg);
446
438
  throw new ErrorWithCode(errorMsg, ErrorCode.InvalidParameter);
447
439
  }
@@ -449,9 +441,9 @@ function loadConfiguration(configuration) {
449
441
  return;
450
442
  }
451
443
  // node environment
452
- var newAuthentication;
453
- var newResources = [];
454
- var defaultResourceName = "default";
444
+ let newAuthentication;
445
+ let newResources = [];
446
+ const defaultResourceName = "default";
455
447
  if (configuration === null || configuration === void 0 ? void 0 : configuration.authentication) {
456
448
  newAuthentication = configuration.authentication;
457
449
  }
@@ -509,15 +501,14 @@ function loadConfiguration(configuration) {
509
501
  *
510
502
  * @beta
511
503
  */
512
- function getResourceConfiguration(resourceType, resourceName) {
504
+ function getResourceConfiguration(resourceType, resourceName = "default") {
513
505
  var _a;
514
- if (resourceName === void 0) { resourceName = "default"; }
515
- internalLogger.info("Get resource configuration of " + ResourceType[resourceType] + " from " + resourceName);
516
- var result = (_a = config.resources) === null || _a === void 0 ? void 0 : _a.find(function (item) { return item.type === resourceType && item.name === resourceName; });
506
+ internalLogger.info(`Get resource configuration of ${ResourceType[resourceType]} from ${resourceName}`);
507
+ const result = (_a = config.resources) === null || _a === void 0 ? void 0 : _a.find((item) => item.type === resourceType && item.name === resourceName);
517
508
  if (result) {
518
509
  return result.properties;
519
510
  }
520
- var errorMsg = formatString(ErrorMessage.MissingResourceConfiguration, ResourceType[resourceType], resourceName);
511
+ const errorMsg = formatString(ErrorMessage.MissingResourceConfiguration, ResourceType[resourceType], resourceName);
521
512
  internalLogger.error(errorMsg);
522
513
  throw new ErrorWithCode(errorMsg, ErrorCode.InvalidConfiguration);
523
514
  }
@@ -535,7 +526,7 @@ function getAuthenticationConfiguration() {
535
526
  if (config) {
536
527
  return config.authentication;
537
528
  }
538
- var errorMsg = "Please call loadConfiguration() first before calling getAuthenticationConfiguration().";
529
+ const errorMsg = "Please call loadConfiguration() first before calling getAuthenticationConfiguration().";
539
530
  internalLogger.error(errorMsg);
540
531
  throw new ErrorWithCode(formatString(ErrorMessage.ConfigurationNotExists, errorMsg), ErrorCode.InvalidConfiguration);
541
532
  }
@@ -549,7 +540,7 @@ function getAuthenticationConfiguration() {
549
540
  *
550
541
  * @beta
551
542
  */
552
- var M365TenantCredential = /** @class */ (function () {
543
+ class M365TenantCredential {
553
544
  /**
554
545
  * Constructor of M365TenantCredential.
555
546
  *
@@ -557,7 +548,7 @@ var M365TenantCredential = /** @class */ (function () {
557
548
  * Only works in in server side.
558
549
  * @beta
559
550
  */
560
- function M365TenantCredential() {
551
+ constructor() {
561
552
  throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "M365TenantCredential"), ErrorCode.RuntimeNotSupported);
562
553
  }
563
554
  /**
@@ -567,15 +558,12 @@ var M365TenantCredential = /** @class */ (function () {
567
558
  * Only works in in server side.
568
559
  * @beta
569
560
  */
570
- M365TenantCredential.prototype.getToken = function (scopes, options) {
571
- return __awaiter(this, void 0, void 0, function () {
572
- return __generator(this, function (_a) {
573
- throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "M365TenantCredential"), ErrorCode.RuntimeNotSupported);
574
- });
561
+ getToken(scopes, options) {
562
+ return __awaiter(this, void 0, void 0, function* () {
563
+ throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "M365TenantCredential"), ErrorCode.RuntimeNotSupported);
575
564
  });
576
- };
577
- return M365TenantCredential;
578
- }());
565
+ }
566
+ }
579
567
 
580
568
  // Copyright (c) Microsoft Corporation.
581
569
  /**
@@ -586,7 +574,7 @@ var M365TenantCredential = /** @class */ (function () {
586
574
  *
587
575
  * @beta
588
576
  */
589
- var OnBehalfOfUserCredential = /** @class */ (function () {
577
+ class OnBehalfOfUserCredential {
590
578
  /**
591
579
  * Constructor of OnBehalfOfUserCredential
592
580
  *
@@ -594,7 +582,7 @@ var OnBehalfOfUserCredential = /** @class */ (function () {
594
582
  * Can Only works in in server side.
595
583
  * @beta
596
584
  */
597
- function OnBehalfOfUserCredential(ssoToken) {
585
+ constructor(ssoToken) {
598
586
  throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "OnBehalfOfUserCredential"), ErrorCode.RuntimeNotSupported);
599
587
  }
600
588
  /**
@@ -603,30 +591,27 @@ var OnBehalfOfUserCredential = /** @class */ (function () {
603
591
  * Can only be used in server side.
604
592
  * @beta
605
593
  */
606
- OnBehalfOfUserCredential.prototype.getToken = function (scopes, options) {
607
- return __awaiter(this, void 0, void 0, function () {
608
- return __generator(this, function (_a) {
609
- throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "OnBehalfOfUserCredential"), ErrorCode.RuntimeNotSupported);
610
- });
594
+ getToken(scopes, options) {
595
+ return __awaiter(this, void 0, void 0, function* () {
596
+ throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "OnBehalfOfUserCredential"), ErrorCode.RuntimeNotSupported);
611
597
  });
612
- };
598
+ }
613
599
  /**
614
600
  * Get basic user info from SSO token.
615
601
  * @remarks
616
602
  * Can only be used in server side.
617
603
  * @beta
618
604
  */
619
- OnBehalfOfUserCredential.prototype.getUserInfo = function () {
605
+ getUserInfo() {
620
606
  throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "OnBehalfOfUserCredential"), ErrorCode.RuntimeNotSupported);
621
- };
622
- return OnBehalfOfUserCredential;
623
- }());
607
+ }
608
+ }
624
609
 
625
610
  // Copyright (c) Microsoft Corporation.
626
- var tokenRefreshTimeSpanInMillisecond = 5 * 60 * 1000;
627
- var initializeTeamsSdkTimeoutInMillisecond = 5000;
628
- var loginPageWidth = 600;
629
- var loginPageHeight = 535;
611
+ const tokenRefreshTimeSpanInMillisecond = 5 * 60 * 1000;
612
+ const initializeTeamsSdkTimeoutInMillisecond = 5000;
613
+ const loginPageWidth = 600;
614
+ const loginPageHeight = 535;
630
615
  /**
631
616
  * Represent Teams current user's identity, and it is used within Teams tab application.
632
617
  *
@@ -635,7 +620,7 @@ var loginPageHeight = 535;
635
620
  *
636
621
  * @beta
637
622
  */
638
- var TeamsUserCredential = /** @class */ (function () {
623
+ class TeamsUserCredential {
639
624
  /**
640
625
  * Constructor of TeamsUserCredential.
641
626
  * Developer need to call loadConfiguration(config) before using this class.
@@ -657,7 +642,7 @@ var TeamsUserCredential = /** @class */ (function () {
657
642
  *
658
643
  * @beta
659
644
  */
660
- function TeamsUserCredential() {
645
+ constructor() {
661
646
  internalLogger.info("Create teams user credential");
662
647
  this.config = this.loadAndValidateConfig();
663
648
  this.ssoToken = null;
@@ -685,58 +670,61 @@ var TeamsUserCredential = /** @class */ (function () {
685
670
  *
686
671
  * @beta
687
672
  */
688
- TeamsUserCredential.prototype.login = function (scopes) {
689
- return __awaiter(this, void 0, void 0, function () {
690
- var scopesStr;
691
- var _this = this;
692
- return __generator(this, function (_a) {
693
- switch (_a.label) {
694
- case 0:
695
- validateScopesType(scopes);
696
- scopesStr = typeof scopes === "string" ? scopes : scopes.join(" ");
697
- internalLogger.info("Popup login page to get user's access token with scopes: " + scopesStr);
698
- if (!!this.initialized) return [3 /*break*/, 2];
699
- return [4 /*yield*/, this.init()];
700
- case 1:
701
- _a.sent();
702
- _a.label = 2;
703
- case 2: return [2 /*return*/, new Promise(function (resolve, reject) {
704
- microsoftTeams.initialize(function () {
705
- microsoftTeams.authentication.authenticate({
706
- url: _this.config.initiateLoginEndpoint + "?clientId=" + _this.config.clientId + "&scope=" + encodeURI(scopesStr) + "&loginHint=" + _this.loginHint,
707
- width: loginPageWidth,
708
- height: loginPageHeight,
709
- successCallback: function (result) { return __awaiter(_this, void 0, void 0, function () {
710
- var errorMsg, accessToken;
711
- return __generator(this, function (_a) {
712
- if (!result) {
713
- errorMsg = "Get empty authentication result from MSAL";
714
- internalLogger.error(errorMsg);
715
- reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
716
- return [2 /*return*/];
717
- }
718
- try {
719
- accessToken = parseAccessTokenFromAuthCodeTokenResponse(result);
720
- resolve(accessToken);
721
- }
722
- catch (error) {
723
- reject(error);
724
- }
725
- return [2 /*return*/];
726
- });
727
- }); },
728
- failureCallback: function (reason) {
729
- var errorMsg = "Consent failed for the scope " + scopesStr + " with error: " + reason;
730
- internalLogger.error(errorMsg);
731
- reject(new ErrorWithCode(errorMsg, ErrorCode.ConsentFailed));
732
- },
733
- });
734
- });
735
- })];
736
- }
673
+ login(scopes) {
674
+ return __awaiter(this, void 0, void 0, function* () {
675
+ validateScopesType(scopes);
676
+ const scopesStr = typeof scopes === "string" ? scopes : scopes.join(" ");
677
+ internalLogger.info(`Popup login page to get user's access token with scopes: ${scopesStr}`);
678
+ if (!this.initialized) {
679
+ yield this.init();
680
+ }
681
+ return new Promise((resolve, reject) => {
682
+ microsoftTeams.initialize(() => {
683
+ microsoftTeams.authentication.authenticate({
684
+ url: `${this.config.initiateLoginEndpoint}?clientId=${this.config.clientId}&scope=${encodeURI(scopesStr)}&loginHint=${this.loginHint}`,
685
+ width: loginPageWidth,
686
+ height: loginPageHeight,
687
+ successCallback: (result) => __awaiter(this, void 0, void 0, function* () {
688
+ if (!result) {
689
+ const errorMsg = "Get empty authentication result from MSAL";
690
+ internalLogger.error(errorMsg);
691
+ reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
692
+ return;
693
+ }
694
+ let resultJson = {};
695
+ try {
696
+ resultJson = JSON.parse(result);
697
+ }
698
+ catch (error) {
699
+ // If can not parse result as Json, will throw error.
700
+ const failedToParseResult = "Failed to parse response to Json.";
701
+ internalLogger.error(failedToParseResult);
702
+ reject(new ErrorWithCode(failedToParseResult, ErrorCode.InvalidResponse));
703
+ }
704
+ // If code exists in result, user may using previous auth-start and auth-end page.
705
+ if (resultJson.code) {
706
+ const helpLink = "https://aka.ms/teamsfx-auth-code-flow";
707
+ const usingPreviousAuthPage = "Found auth code in response. Auth code is not support for current version of SDK. " +
708
+ `Please refer to the help link for how to fix the issue: ${helpLink}.`;
709
+ internalLogger.error(usingPreviousAuthPage);
710
+ reject(new ErrorWithCode(usingPreviousAuthPage, ErrorCode.InvalidResponse));
711
+ }
712
+ // If sessionStorage exists in result, set the values in current session storage.
713
+ if (resultJson.sessionStorage) {
714
+ this.setSessionStorage(resultJson.sessionStorage);
715
+ }
716
+ resolve();
717
+ }),
718
+ failureCallback: (reason) => {
719
+ const errorMsg = `Consent failed for the scope ${scopesStr} with error: ${reason}`;
720
+ internalLogger.error(errorMsg);
721
+ reject(new ErrorWithCode(errorMsg, ErrorCode.ConsentFailed));
722
+ },
723
+ });
724
+ });
737
725
  });
738
726
  });
739
- };
727
+ }
740
728
  /**
741
729
  * Get access token from credential.
742
730
  *
@@ -771,80 +759,62 @@ var TeamsUserCredential = /** @class */ (function () {
771
759
  *
772
760
  * @beta
773
761
  */
774
- TeamsUserCredential.prototype.getToken = function (scopes, options) {
775
- return __awaiter(this, void 0, void 0, function () {
776
- var ssoToken, scopeStr, tokenResponse, scopesArray, domain, account, scopesRequestForAcquireTokenSilent, error_1, acquireTokenSilentFailedMessage, scopesRequestForSsoSilent, error_2, ssoSilentFailedMessage, errorMsg, accessToken;
777
- return __generator(this, function (_a) {
778
- switch (_a.label) {
779
- case 0:
780
- validateScopesType(scopes);
781
- return [4 /*yield*/, this.getSSOToken()];
782
- case 1:
783
- ssoToken = _a.sent();
784
- scopeStr = typeof scopes === "string" ? scopes : scopes.join(" ");
785
- if (!(scopeStr === "")) return [3 /*break*/, 2];
786
- internalLogger.info("Get SSO token");
787
- return [2 /*return*/, ssoToken];
788
- case 2:
789
- internalLogger.info("Get access token with scopes: " + scopeStr);
790
- if (!!this.initialized) return [3 /*break*/, 4];
791
- return [4 /*yield*/, this.init()];
792
- case 3:
793
- _a.sent();
794
- _a.label = 4;
795
- case 4:
796
- tokenResponse = void 0;
797
- scopesArray = typeof scopes === "string" ? scopes.split(" ") : scopes;
798
- domain = window.location.origin;
799
- _a.label = 5;
800
- case 5:
801
- _a.trys.push([5, 7, , 8]);
802
- account = this.msalInstance.getAccountByUsername(this.loginHint);
803
- scopesRequestForAcquireTokenSilent = {
804
- scopes: scopesArray,
805
- account: account !== null && account !== void 0 ? account : undefined,
806
- redirectUri: domain + "/blank-auth-end.html",
807
- };
808
- return [4 /*yield*/, this.msalInstance.acquireTokenSilent(scopesRequestForAcquireTokenSilent)];
809
- case 6:
810
- tokenResponse = _a.sent();
811
- return [3 /*break*/, 8];
812
- case 7:
813
- error_1 = _a.sent();
814
- acquireTokenSilentFailedMessage = "Failed to call acquireTokenSilent. Reason: " + (error_1 === null || error_1 === void 0 ? void 0 : error_1.message) + ". ";
815
- internalLogger.verbose(acquireTokenSilentFailedMessage);
816
- return [3 /*break*/, 8];
817
- case 8:
818
- if (!!tokenResponse) return [3 /*break*/, 12];
819
- _a.label = 9;
820
- case 9:
821
- _a.trys.push([9, 11, , 12]);
822
- scopesRequestForSsoSilent = {
762
+ getToken(scopes, options) {
763
+ return __awaiter(this, void 0, void 0, function* () {
764
+ validateScopesType(scopes);
765
+ const ssoToken = yield this.getSSOToken();
766
+ const scopeStr = typeof scopes === "string" ? scopes : scopes.join(" ");
767
+ if (scopeStr === "") {
768
+ internalLogger.info("Get SSO token");
769
+ return ssoToken;
770
+ }
771
+ else {
772
+ internalLogger.info("Get access token with scopes: " + scopeStr);
773
+ if (!this.initialized) {
774
+ yield this.init();
775
+ }
776
+ let tokenResponse;
777
+ const scopesArray = typeof scopes === "string" ? scopes.split(" ") : scopes;
778
+ const domain = window.location.origin;
779
+ // First try to get Access Token from cache.
780
+ try {
781
+ const account = this.msalInstance.getAccountByUsername(this.loginHint);
782
+ const scopesRequestForAcquireTokenSilent = {
783
+ scopes: scopesArray,
784
+ account: account !== null && account !== void 0 ? account : undefined,
785
+ redirectUri: `${domain}/blank-auth-end.html`,
786
+ };
787
+ tokenResponse = yield this.msalInstance.acquireTokenSilent(scopesRequestForAcquireTokenSilent);
788
+ }
789
+ catch (error) {
790
+ const acquireTokenSilentFailedMessage = `Failed to call acquireTokenSilent. Reason: ${error === null || error === void 0 ? void 0 : error.message}. `;
791
+ internalLogger.verbose(acquireTokenSilentFailedMessage);
792
+ }
793
+ if (!tokenResponse) {
794
+ // If fail to get Access Token from cache, try to get Access token by silent login.
795
+ try {
796
+ const scopesRequestForSsoSilent = {
823
797
  scopes: scopesArray,
824
798
  loginHint: this.loginHint,
825
- redirectUri: domain + "/blank-auth-end.html",
799
+ redirectUri: `${domain}/blank-auth-end.html`,
826
800
  };
827
- return [4 /*yield*/, this.msalInstance.ssoSilent(scopesRequestForSsoSilent)];
828
- case 10:
829
- tokenResponse = _a.sent();
830
- return [3 /*break*/, 12];
831
- case 11:
832
- error_2 = _a.sent();
833
- ssoSilentFailedMessage = "Failed to call ssoSilent. Reason: " + (error_2 === null || error_2 === void 0 ? void 0 : error_2.message) + ". ";
801
+ tokenResponse = yield this.msalInstance.ssoSilent(scopesRequestForSsoSilent);
802
+ }
803
+ catch (error) {
804
+ const ssoSilentFailedMessage = `Failed to call ssoSilent. Reason: ${error === null || error === void 0 ? void 0 : error.message}. `;
834
805
  internalLogger.verbose(ssoSilentFailedMessage);
835
- return [3 /*break*/, 12];
836
- case 12:
837
- if (!tokenResponse) {
838
- errorMsg = "Failed to get access token cache silently, please login first: you need login first before get access token.";
839
- internalLogger.error(errorMsg);
840
- throw new ErrorWithCode(errorMsg, ErrorCode.UiRequiredError);
841
- }
842
- accessToken = parseAccessTokenFromAuthCodeTokenResponse(tokenResponse);
843
- return [2 /*return*/, accessToken];
806
+ }
844
807
  }
845
- });
808
+ if (!tokenResponse) {
809
+ const errorMsg = `Failed to get access token cache silently, please login first: you need login first before get access token.`;
810
+ internalLogger.error(errorMsg);
811
+ throw new ErrorWithCode(errorMsg, ErrorCode.UiRequiredError);
812
+ }
813
+ const accessToken = parseAccessTokenFromAuthCodeTokenResponse(tokenResponse);
814
+ return accessToken;
815
+ }
846
816
  });
847
- };
817
+ }
848
818
  /**
849
819
  * Get basic user info from SSO token
850
820
  *
@@ -861,90 +831,73 @@ var TeamsUserCredential = /** @class */ (function () {
861
831
  *
862
832
  * @beta
863
833
  */
864
- TeamsUserCredential.prototype.getUserInfo = function () {
865
- return __awaiter(this, void 0, void 0, function () {
866
- var ssoToken;
867
- return __generator(this, function (_a) {
868
- switch (_a.label) {
869
- case 0:
870
- internalLogger.info("Get basic user info from SSO token");
871
- return [4 /*yield*/, this.getSSOToken()];
872
- case 1:
873
- ssoToken = _a.sent();
874
- return [2 /*return*/, getUserInfoFromSsoToken(ssoToken.token)];
875
- }
876
- });
834
+ getUserInfo() {
835
+ return __awaiter(this, void 0, void 0, function* () {
836
+ internalLogger.info("Get basic user info from SSO token");
837
+ const ssoToken = yield this.getSSOToken();
838
+ return getUserInfoFromSsoToken(ssoToken.token);
877
839
  });
878
- };
879
- TeamsUserCredential.prototype.init = function () {
880
- return __awaiter(this, void 0, void 0, function () {
881
- var ssoToken, info, msalConfig;
882
- return __generator(this, function (_a) {
883
- switch (_a.label) {
884
- case 0: return [4 /*yield*/, this.getSSOToken()];
885
- case 1:
886
- ssoToken = _a.sent();
887
- info = getTenantIdAndLoginHintFromSsoToken(ssoToken.token);
888
- this.loginHint = info.loginHint;
889
- this.tid = info.tid;
890
- msalConfig = {
891
- auth: {
892
- clientId: this.config.clientId,
893
- authority: "https://login.microsoftonline.com/" + this.tid,
894
- },
895
- cache: {
896
- cacheLocation: "sessionStorage",
897
- },
898
- };
899
- this.msalInstance = new PublicClientApplication(msalConfig);
900
- this.initialized = true;
901
- return [2 /*return*/];
902
- }
903
- });
840
+ }
841
+ init() {
842
+ return __awaiter(this, void 0, void 0, function* () {
843
+ const ssoToken = yield this.getSSOToken();
844
+ const info = getTenantIdAndLoginHintFromSsoToken(ssoToken.token);
845
+ this.loginHint = info.loginHint;
846
+ this.tid = info.tid;
847
+ const msalConfig = {
848
+ auth: {
849
+ clientId: this.config.clientId,
850
+ authority: `https://login.microsoftonline.com/${this.tid}`,
851
+ },
852
+ cache: {
853
+ cacheLocation: "sessionStorage",
854
+ },
855
+ };
856
+ this.msalInstance = new PublicClientApplication(msalConfig);
857
+ this.initialized = true;
904
858
  });
905
- };
859
+ }
906
860
  /**
907
861
  * Get SSO token using teams SDK
908
862
  * It will try to get SSO token from memory first, if SSO token doesn't exist or about to expired, then it will using teams SDK to get SSO token
909
863
  * @returns SSO token
910
864
  */
911
- TeamsUserCredential.prototype.getSSOToken = function () {
912
- var _this = this;
913
- return new Promise(function (resolve, reject) {
914
- if (_this.ssoToken) {
915
- if (_this.ssoToken.expiresOnTimestamp - Date.now() > tokenRefreshTimeSpanInMillisecond) {
865
+ getSSOToken() {
866
+ return new Promise((resolve, reject) => {
867
+ if (this.ssoToken) {
868
+ if (this.ssoToken.expiresOnTimestamp - Date.now() > tokenRefreshTimeSpanInMillisecond) {
916
869
  internalLogger.verbose("Get SSO token from memory cache");
917
- resolve(_this.ssoToken);
870
+ resolve(this.ssoToken);
918
871
  return;
919
872
  }
920
873
  }
921
- var initialized = false;
922
- microsoftTeams.initialize(function () {
874
+ let initialized = false;
875
+ microsoftTeams.initialize(() => {
923
876
  initialized = true;
924
877
  microsoftTeams.authentication.getAuthToken({
925
- successCallback: function (token) {
878
+ successCallback: (token) => {
926
879
  if (!token) {
927
- var errorMsg = "Get empty SSO token from Teams";
880
+ const errorMsg = "Get empty SSO token from Teams";
928
881
  internalLogger.error(errorMsg);
929
882
  reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
930
883
  return;
931
884
  }
932
- var tokenObject = parseJwt(token);
885
+ const tokenObject = parseJwt(token);
933
886
  if (tokenObject.ver !== "1.0" && tokenObject.ver !== "2.0") {
934
- var errorMsg = "SSO token is not valid with an unknown version: " + tokenObject.ver;
887
+ const errorMsg = "SSO token is not valid with an unknown version: " + tokenObject.ver;
935
888
  internalLogger.error(errorMsg);
936
889
  reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
937
890
  return;
938
891
  }
939
- var ssoToken = {
940
- token: token,
892
+ const ssoToken = {
893
+ token,
941
894
  expiresOnTimestamp: tokenObject.exp * 1000,
942
895
  };
943
- _this.ssoToken = ssoToken;
896
+ this.ssoToken = ssoToken;
944
897
  resolve(ssoToken);
945
898
  },
946
- failureCallback: function (errMessage) {
947
- var errorMsg = "Get SSO token failed with error: " + errMessage;
899
+ failureCallback: (errMessage) => {
900
+ const errorMsg = "Get SSO token failed with error: " + errMessage;
948
901
  internalLogger.error(errorMsg);
949
902
  reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
950
903
  },
@@ -952,22 +905,22 @@ var TeamsUserCredential = /** @class */ (function () {
952
905
  });
953
906
  });
954
907
  // If the code not running in Teams, the initialize callback function would never trigger
955
- setTimeout(function () {
908
+ setTimeout(() => {
956
909
  if (!initialized) {
957
- var errorMsg = "Initialize teams sdk timeout, maybe the code is not running inside Teams";
910
+ const errorMsg = "Initialize teams sdk timeout, maybe the code is not running inside Teams";
958
911
  internalLogger.error(errorMsg);
959
912
  reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
960
913
  }
961
914
  }, initializeTeamsSdkTimeoutInMillisecond);
962
915
  });
963
- };
916
+ }
964
917
  /**
965
918
  * Load and validate authentication configuration
966
919
  * @returns Authentication configuration
967
920
  */
968
- TeamsUserCredential.prototype.loadAndValidateConfig = function () {
921
+ loadAndValidateConfig() {
969
922
  internalLogger.verbose("Validate authentication configuration");
970
- var config = getAuthenticationConfiguration();
923
+ const config = getAuthenticationConfiguration();
971
924
  if (!config) {
972
925
  internalLogger.error(ErrorMessage.AuthenticationConfigurationNotExists);
973
926
  throw new ErrorWithCode(ErrorMessage.AuthenticationConfigurationNotExists, ErrorCode.InvalidConfiguration);
@@ -975,28 +928,42 @@ var TeamsUserCredential = /** @class */ (function () {
975
928
  if (config.initiateLoginEndpoint && config.clientId) {
976
929
  return config;
977
930
  }
978
- var missingValues = [];
931
+ const missingValues = [];
979
932
  if (!config.initiateLoginEndpoint) {
980
933
  missingValues.push("initiateLoginEndpoint");
981
934
  }
982
935
  if (!config.clientId) {
983
936
  missingValues.push("clientId");
984
937
  }
985
- var errorMsg = formatString(ErrorMessage.InvalidConfiguration, missingValues.join(", "), "undefined");
938
+ const errorMsg = formatString(ErrorMessage.InvalidConfiguration, missingValues.join(", "), "undefined");
986
939
  internalLogger.error(errorMsg);
987
940
  throw new ErrorWithCode(errorMsg, ErrorCode.InvalidConfiguration);
988
- };
989
- return TeamsUserCredential;
990
- }());
941
+ }
942
+ setSessionStorage(sessonStorageValues) {
943
+ try {
944
+ const sessionStorageKeys = Object.keys(sessonStorageValues);
945
+ sessionStorageKeys.forEach((key) => {
946
+ sessionStorage.setItem(key, sessonStorageValues[key]);
947
+ });
948
+ }
949
+ catch (error) {
950
+ // Values in result.sessionStorage can not be set into session storage.
951
+ // Throw error since this may block user.
952
+ const errorMessage = `Failed to set values in session storage. Error: ${error.message}`;
953
+ internalLogger.error(errorMessage);
954
+ throw new ErrorWithCode(errorMessage, ErrorCode.InternalError);
955
+ }
956
+ }
957
+ }
991
958
 
992
959
  // Copyright (c) Microsoft Corporation.
993
- var defaultScope = "https://graph.microsoft.com/.default";
960
+ const defaultScope = "https://graph.microsoft.com/.default";
994
961
  /**
995
962
  * Microsoft Graph auth provider for Teams Framework
996
963
  *
997
964
  * @beta
998
965
  */
999
- var MsGraphAuthProvider = /** @class */ (function () {
966
+ class MsGraphAuthProvider {
1000
967
  /**
1001
968
  * Constructor of MsGraphAuthProvider.
1002
969
  *
@@ -1009,9 +976,9 @@ var MsGraphAuthProvider = /** @class */ (function () {
1009
976
  *
1010
977
  * @beta
1011
978
  */
1012
- function MsGraphAuthProvider(credential, scopes) {
979
+ constructor(credential, scopes) {
1013
980
  this.credential = credential;
1014
- var scopesStr = defaultScope;
981
+ let scopesStr = defaultScope;
1015
982
  if (scopes) {
1016
983
  validateScopesType(scopes);
1017
984
  scopesStr = typeof scopes === "string" ? scopes : scopes.join(" ");
@@ -1019,7 +986,7 @@ var MsGraphAuthProvider = /** @class */ (function () {
1019
986
  scopesStr = defaultScope;
1020
987
  }
1021
988
  }
1022
- internalLogger.info("Create Microsoft Graph Authentication Provider with scopes: '" + scopesStr + "'");
989
+ internalLogger.info(`Create Microsoft Graph Authentication Provider with scopes: '${scopesStr}'`);
1023
990
  this.scopes = scopesStr;
1024
991
  }
1025
992
  /**
@@ -1034,32 +1001,23 @@ var MsGraphAuthProvider = /** @class */ (function () {
1034
1001
  * @returns Access token from the credential.
1035
1002
  *
1036
1003
  */
1037
- MsGraphAuthProvider.prototype.getAccessToken = function () {
1038
- return __awaiter(this, void 0, void 0, function () {
1039
- var accessToken;
1040
- return __generator(this, function (_a) {
1041
- switch (_a.label) {
1042
- case 0:
1043
- internalLogger.info("Get Graph Access token with scopes: '" + this.scopes + "'");
1044
- return [4 /*yield*/, this.credential.getToken(this.scopes)];
1045
- case 1:
1046
- accessToken = _a.sent();
1047
- return [2 /*return*/, new Promise(function (resolve, reject) {
1048
- if (accessToken) {
1049
- resolve(accessToken.token);
1050
- }
1051
- else {
1052
- var errorMsg = "Graph access token is undefined or empty";
1053
- internalLogger.error(errorMsg);
1054
- reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
1055
- }
1056
- })];
1004
+ getAccessToken() {
1005
+ return __awaiter(this, void 0, void 0, function* () {
1006
+ internalLogger.info(`Get Graph Access token with scopes: '${this.scopes}'`);
1007
+ const accessToken = yield this.credential.getToken(this.scopes);
1008
+ return new Promise((resolve, reject) => {
1009
+ if (accessToken) {
1010
+ resolve(accessToken.token);
1011
+ }
1012
+ else {
1013
+ const errorMsg = "Graph access token is undefined or empty";
1014
+ internalLogger.error(errorMsg);
1015
+ reject(new ErrorWithCode(errorMsg, ErrorCode.InternalError));
1057
1016
  }
1058
1017
  });
1059
1018
  });
1060
- };
1061
- return MsGraphAuthProvider;
1062
- }());
1019
+ }
1020
+ }
1063
1021
 
1064
1022
  // Copyright (c) Microsoft Corporation.
1065
1023
  /**
@@ -1115,9 +1073,9 @@ var MsGraphAuthProvider = /** @class */ (function () {
1115
1073
  */
1116
1074
  function createMicrosoftGraphClient(credential, scopes) {
1117
1075
  internalLogger.info("Create Microsoft Graph Client");
1118
- var authProvider = new MsGraphAuthProvider(credential, scopes);
1119
- var graphClient = Client.initWithMiddleware({
1120
- authProvider: authProvider,
1076
+ const authProvider = new MsGraphAuthProvider(credential, scopes);
1077
+ const graphClient = Client.initWithMiddleware({
1078
+ authProvider,
1121
1079
  });
1122
1080
  return graphClient;
1123
1081
  }
@@ -1128,8 +1086,8 @@ function createMicrosoftGraphClient(credential, scopes) {
1128
1086
  * Only works in in server side.
1129
1087
  * @beta
1130
1088
  */
1131
- var DefaultTediousConnectionConfiguration = /** @class */ (function () {
1132
- function DefaultTediousConnectionConfiguration() {
1089
+ class DefaultTediousConnectionConfiguration {
1090
+ constructor() {
1133
1091
  throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "DefaultTediousConnectionConfiguration"), ErrorCode.RuntimeNotSupported);
1134
1092
  }
1135
1093
  /**
@@ -1138,15 +1096,12 @@ var DefaultTediousConnectionConfiguration = /** @class */ (function () {
1138
1096
  * Only works in in server side.
1139
1097
  * @beta
1140
1098
  */
1141
- DefaultTediousConnectionConfiguration.prototype.getConfig = function () {
1142
- return __awaiter(this, void 0, void 0, function () {
1143
- return __generator(this, function (_a) {
1144
- throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "DefaultTediousConnectionConfiguration"), ErrorCode.RuntimeNotSupported);
1145
- });
1099
+ getConfig(databaseName) {
1100
+ return __awaiter(this, void 0, void 0, function* () {
1101
+ throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "DefaultTediousConnectionConfiguration"), ErrorCode.RuntimeNotSupported);
1146
1102
  });
1147
- };
1148
- return DefaultTediousConnectionConfiguration;
1149
- }());
1103
+ }
1104
+ }
1150
1105
 
1151
1106
  // Copyright (c) Microsoft Corporation.
1152
1107
  /**
@@ -1200,7 +1155,7 @@ var DefaultTediousConnectionConfiguration = /** @class */ (function () {
1200
1155
  *
1201
1156
  * @beta
1202
1157
  */
1203
- var TeamsBotSsoPrompt = /** @class */ (function () {
1158
+ class TeamsBotSsoPrompt {
1204
1159
  /**
1205
1160
  * Constructor of TeamsBotSsoPrompt.
1206
1161
  *
@@ -1212,7 +1167,7 @@ var TeamsBotSsoPrompt = /** @class */ (function () {
1212
1167
  *
1213
1168
  * @beta
1214
1169
  */
1215
- function TeamsBotSsoPrompt(dialogId, settings) {
1170
+ constructor(dialogId, settings) {
1216
1171
  this.settings = settings;
1217
1172
  throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "TeamsBotSsoPrompt"), ErrorCode.RuntimeNotSupported);
1218
1173
  }
@@ -1232,13 +1187,11 @@ var TeamsBotSsoPrompt = /** @class */ (function () {
1232
1187
  *
1233
1188
  * @beta
1234
1189
  */
1235
- TeamsBotSsoPrompt.prototype.beginDialog = function (dc) {
1236
- return __awaiter(this, void 0, void 0, function () {
1237
- return __generator(this, function (_a) {
1238
- throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "TeamsBotSsoPrompt"), ErrorCode.RuntimeNotSupported);
1239
- });
1190
+ beginDialog(dc) {
1191
+ return __awaiter(this, void 0, void 0, function* () {
1192
+ throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "TeamsBotSsoPrompt"), ErrorCode.RuntimeNotSupported);
1240
1193
  });
1241
- };
1194
+ }
1242
1195
  /**
1243
1196
  * Called when a prompt dialog is the active dialog and the user replied with a new activity.
1244
1197
  *
@@ -1257,15 +1210,12 @@ var TeamsBotSsoPrompt = /** @class */ (function () {
1257
1210
  *
1258
1211
  * @beta
1259
1212
  */
1260
- TeamsBotSsoPrompt.prototype.continueDialog = function (dc) {
1261
- return __awaiter(this, void 0, void 0, function () {
1262
- return __generator(this, function (_a) {
1263
- throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "TeamsBotSsoPrompt"), ErrorCode.RuntimeNotSupported);
1264
- });
1213
+ continueDialog(dc) {
1214
+ return __awaiter(this, void 0, void 0, function* () {
1215
+ throw new ErrorWithCode(formatString(ErrorMessage.BrowserRuntimeNotSupported, "TeamsBotSsoPrompt"), ErrorCode.RuntimeNotSupported);
1265
1216
  });
1266
- };
1267
- return TeamsBotSsoPrompt;
1268
- }());
1217
+ }
1218
+ }
1269
1219
 
1270
1220
  export { DefaultTediousConnectionConfiguration, ErrorCode, ErrorWithCode, LogLevel, M365TenantCredential, MsGraphAuthProvider, OnBehalfOfUserCredential, ResourceType, TeamsBotSsoPrompt, TeamsUserCredential, createMicrosoftGraphClient, getAuthenticationConfiguration, getLogLevel, getResourceConfiguration, loadConfiguration, setLogFunction, setLogLevel, setLogger };
1271
1221
  //# sourceMappingURL=index.esm5.js.map