UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

55 lines 8.09 kB
import { Injectable } from '@angular/core'; import { headerConstants } from '@microsoft/windows-admin-center-sdk/core/data/http-constants'; import { Logging } from '@microsoft/windows-admin-center-sdk/core/diagnostics/logging'; import { RpcObservableExtensionDataClient } from '@microsoft/windows-admin-center-sdk/core/rpc/extension-data/rpc-observable-extension-data-client'; import { throwError } from 'rxjs'; import { map } from 'rxjs/operators'; import { RpcService } from './rpc.service'; import * as i0 from "@angular/core"; import * as i1 from "./rpc.service"; export class SecureExtensionDataService extends RpcObservableExtensionDataClient { /** * Initializes a new instance of the SecureExtensionDataService class. * * @param rpc the rpc object. */ constructor(rpc) { super(rpc); } /** * Creates and stores a secure extension data token for the session * @param key the key you want to store token in * @param data the data to be encrypted and securely stored for the session */ createSecureExtensionToken(key, data) { const extension = MsftSme.self().Environment.name; if (!extension) { Logging.logError('SecureExtensionDataService.SecureExtensionDataService', 'Could not find extension name.'); return throwError(() => { return { error: 'Could not find extension name' }; }); } else { return this.storeData({ extension, key, data }); } } /** * Adds a secure extension data token to a request * @param key the key the secure data is stored in * @param request the plugin request (optional) */ addSecureExtensionDataHeader(key, request) { const extension = MsftSme.self().Environment.name; request = request || { headers: {} }; return this.retrieveData({ extension, key }).pipe(map(data => { request.headers[headerConstants.SECURE_EXTENSION] = data.data; return request; })); } } /** @nocollapse */ SecureExtensionDataService.ɵfac = function SecureExtensionDataService_Factory(t) { return new (t || SecureExtensionDataService)(i0.ɵɵinject(i1.RpcService)); }; /** @nocollapse */ SecureExtensionDataService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: SecureExtensionDataService, factory: SecureExtensionDataService.ɵfac }); (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SecureExtensionDataService, [{ type: Injectable }], function () { return [{ type: i1.RpcService }]; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJlLWV4dGVuc2lvbi1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9zZXJ2aWNlL3NlY3VyZS1leHRlbnNpb24tZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrR0FBa0csQ0FBQztBQUVwSixPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdDQUFnQztJQUM1RTs7OztPQUlHO0lBQ0gsWUFBWSxHQUFlO1FBQ3ZCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksMEJBQTBCLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDdkQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNaLE9BQU8sQ0FBQyxRQUFRLENBQUMsdURBQXVELEVBQ3BFLGdDQUFnQyxDQUFDLENBQUM7WUFDdEMsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNuQixPQUFPLEVBQUMsS0FBSyxFQUFFLCtCQUErQixFQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLENBQUM7U0FFTjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSw0QkFBNEIsQ0FBQyxHQUFXLEVBQUUsT0FBcUI7UUFDbEUsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEQsT0FBTyxHQUFHLE9BQU8sSUFBaUIsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUMzQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDRCxPQUFRLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckUsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7O3VIQTFDUSwwQkFBMEI7K0dBQTFCLDBCQUEwQixXQUExQiwwQkFBMEI7dUZBQTFCLDBCQUEwQjtjQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBoZWFkZXJDb25zdGFudHMgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL2RhdGEvaHR0cC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBMb2dnaW5nIH0gZnJvbSAnQG1pY3Jvc29mdC93aW5kb3dzLWFkbWluLWNlbnRlci1zZGsvY29yZS9kaWFnbm9zdGljcy9sb2dnaW5nJztcclxuaW1wb3J0IHsgUnBjT2JzZXJ2YWJsZUV4dGVuc2lvbkRhdGFDbGllbnQgfSBmcm9tICdAbWljcm9zb2Z0L3dpbmRvd3MtYWRtaW4tY2VudGVyLXNkay9jb3JlL3JwYy9leHRlbnNpb24tZGF0YS9ycGMtb2JzZXJ2YWJsZS1leHRlbnNpb24tZGF0YS1jbGllbnQnO1xyXG5pbXBvcnQgeyBScGNPYnNlcnZhYmxlRXh0ZW5zaW9uRGF0YVJlc3VsdCB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvcnBjL2V4dGVuc2lvbi1kYXRhL3JwYy1vYnNlcnZhYmxlLWV4dGVuc2lvbi1kYXRhLW1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBamF4UmVxdWVzdCB9IGZyb20gJ3J4anMvYWpheCc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUnBjU2VydmljZSB9IGZyb20gJy4vcnBjLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2VjdXJlRXh0ZW5zaW9uRGF0YVNlcnZpY2UgZXh0ZW5kcyBScGNPYnNlcnZhYmxlRXh0ZW5zaW9uRGF0YUNsaWVudCB7XHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBTZWN1cmVFeHRlbnNpb25EYXRhU2VydmljZSBjbGFzcy5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcnBjIHRoZSBycGMgb2JqZWN0LlxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihycGM6IFJwY1NlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcihycGMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhbmQgc3RvcmVzIGEgc2VjdXJlIGV4dGVuc2lvbiBkYXRhIHRva2VuIGZvciB0aGUgc2Vzc2lvblxyXG4gICAgICogQHBhcmFtIGtleSB0aGUga2V5IHlvdSB3YW50IHRvIHN0b3JlIHRva2VuIGluXHJcbiAgICAgKiBAcGFyYW0gZGF0YSB0aGUgZGF0YSB0byBiZSBlbmNyeXB0ZWQgYW5kIHNlY3VyZWx5IHN0b3JlZCBmb3IgdGhlIHNlc3Npb25cclxuICAgICAqL1xyXG4gICAgcHVibGljIGNyZWF0ZVNlY3VyZUV4dGVuc2lvblRva2VuKGtleTogc3RyaW5nLCBkYXRhOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJwY09ic2VydmFibGVFeHRlbnNpb25EYXRhUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gTXNmdFNtZS5zZWxmKCkuRW52aXJvbm1lbnQubmFtZTtcclxuICAgICAgICBpZiAoIWV4dGVuc2lvbikge1xyXG4gICAgICAgICAgICBMb2dnaW5nLmxvZ0Vycm9yKCdTZWN1cmVFeHRlbnNpb25EYXRhU2VydmljZS5TZWN1cmVFeHRlbnNpb25EYXRhU2VydmljZScsXHJcbiAgICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgZXh0ZW5zaW9uIG5hbWUuJyk7XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7ZXJyb3I6ICdDb3VsZCBub3QgZmluZCBleHRlbnNpb24gbmFtZSd9O1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmVEYXRhKHtleHRlbnNpb24sIGtleSwgZGF0YX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZHMgYSBzZWN1cmUgZXh0ZW5zaW9uIGRhdGEgdG9rZW4gdG8gYSByZXF1ZXN0XHJcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBrZXkgdGhlIHNlY3VyZSBkYXRhIGlzIHN0b3JlZCBpblxyXG4gICAgICogQHBhcmFtIHJlcXVlc3QgdGhlIHBsdWdpbiByZXF1ZXN0IChvcHRpb25hbClcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFkZFNlY3VyZUV4dGVuc2lvbkRhdGFIZWFkZXIoa2V5OiBzdHJpbmcsIHJlcXVlc3Q/OiBBamF4UmVxdWVzdCk6IE9ic2VydmFibGU8QWpheFJlcXVlc3Q+IHtcclxuICAgICAgICBjb25zdCBleHRlbnNpb24gPSBNc2Z0U21lLnNlbGYoKS5FbnZpcm9ubWVudC5uYW1lO1xyXG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0IHx8IDxBamF4UmVxdWVzdD57IGhlYWRlcnM6IHt9IH07XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucmV0cmlldmVEYXRhKHtleHRlbnNpb24sIGtleX0pLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcChkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgICg8YW55PnJlcXVlc3QpLmhlYWRlcnNbaGVhZGVyQ29uc3RhbnRzLlNFQ1VSRV9FWFRFTlNJT05dID0gZGF0YS5kYXRhO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgIH1cclxufVxyXG4iXX0=