@microsoft/mgt
Version:
The Microsoft Graph Toolkit
100 lines • 3.66 kB
JavaScript
/**
* -------------------------------------------------------------------------------------------
* 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