UNPKG

@microsoft/mgt

Version:
94 lines 3.4 kB
/** * ------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. * See License in the project root for license information. * ------------------------------------------------------------------------------------------- */ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { customElement, property } from 'lit-element'; import { Providers } from '../../Providers'; import { TeamsProvider } from '../../providers/TeamsProvider'; import { MgtBaseProvider } from './baseProvider'; /** * Authentication Library Provider for Microsoft Teams accounts * * @export * @class MgtTeamsProvider * @extends {MgtBaseProvider} */ let MgtTeamsProvider = class MgtTeamsProvider extends MgtBaseProvider { constructor() { super(...arguments); /** * String alphanumerical value relation to a specific user * * @memberof MgtTeamsProvider */ this.clientId = ''; /** * The relative or absolute path of the html page that will handle the authentication * * @memberof MgtTeamsProvider */ this.authPopupUrl = ''; } /** * Gets whether this provider can be used in this environment * * @readonly * @memberof MgtTeamsProvider */ get isAvailable() { return TeamsProvider.isAvailable; } /** * method called to initialize the provider. Each derived class should provide their own implementation * * @protected * @memberof MgtTeamsProvider */ initializeProvider() { if (this.clientId && this.authPopupUrl) { const config = { authPopupUrl: this.authPopupUrl, clientId: this.clientId }; if (this.scopes) { const scope = this.scopes.split(','); if (scope && scope.length > 0) { config.scopes = scope; } } this.provider = new TeamsProvider(config); Providers.globalProvider = this.provider; } } }; __decorate([ property({ attribute: 'client-id', type: String }) ], MgtTeamsProvider.prototype, "clientId", void 0); __decorate([ property({ attribute: 'auth-popup-url', type: String }) ], MgtTeamsProvider.prototype, "authPopupUrl", void 0); __decorate([ property({ attribute: 'scopes', type: String }) ], MgtTeamsProvider.prototype, "scopes", void 0); MgtTeamsProvider = __decorate([ customElement('mgt-teams-provider') ], MgtTeamsProvider); export { MgtTeamsProvider }; //# sourceMappingURL=mgt-teams-provider.js.map