UNPKG

@microsoft/mgt

Version:
100 lines 3.66 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 { LoginType } from '../../providers/IProvider'; import { MsalProvider } from '../../providers/MsalProvider'; import { MgtBaseProvider } from './baseProvider'; /** * Authentication Library Provider for Microsoft personal accounts * * @export * @class MgtMsalProvider * @extends {MgtBaseProvider} */ let MgtMsalProvider = class MgtMsalProvider extends MgtBaseProvider { constructor() { super(...arguments); /** * String alphanumerical value relation to a specific user * * @memberof MgtMsalProvider */ this.clientId = ''; } /** * Gets whether this provider can be used in this environment * * @readonly * @memberof MgtMsalProvider */ get isAvailable() { return true; } /** * method called to initialize the provider. Each derived class should provide their own implementation. * * @protected * @memberof MgtMsalProvider */ initializeProvider() { if (this.clientId) { const config = { clientId: this.clientId }; if (this.loginType && this.loginType.length > 1) { let loginType = this.loginType.toLowerCase(); loginType = loginType[0].toUpperCase() + loginType.slice(1); const loginTypeEnum = LoginType[loginType]; config.loginType = loginTypeEnum; } if (this.authority) { config.authority = this.authority; } if (this.scopes) { const scope = this.scopes.split(','); if (scope && scope.length > 0) { config.scopes = scope; } } this.provider = new MsalProvider(config); Providers.globalProvider = this.provider; } } }; __decorate([ property({ attribute: 'client-id', type: String }) ], MgtMsalProvider.prototype, "clientId", void 0); __decorate([ property({ attribute: 'login-type', type: String }) ], MgtMsalProvider.prototype, "loginType", void 0); __decorate([ property() ], MgtMsalProvider.prototype, "authority", void 0); __decorate([ property({ attribute: 'scopes', type: String }) ], MgtMsalProvider.prototype, "scopes", void 0); MgtMsalProvider = __decorate([ customElement('mgt-msal-provider') ], MgtMsalProvider); export { MgtMsalProvider }; //# sourceMappingURL=mgt-msal-provider.js.map