UNPKG

kipon-xrmservice

Version:

Dynamics 365 CE web api wrapper for angular, making life easier when building angular based web resources

65 lines 9.03 kB
import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "./xrmconfig.service"; import * as i2 from "./xrm.service"; export class XrmAuthService { constructor(xrmConfigService, xrmService) { this.xrmConfigService = xrmConfigService; this.xrmService = xrmService; } authenticate() { if (window["AuthenticationContext"] == null) { throw "You must load adal.js to the page header scripts."; } this.authConfig = this.xrmConfigService.getConfig(); let authCtx = new window["AuthenticationContext"](this.authConfig); let isCallback = authCtx.isCallback(window.location.hash); if (isCallback) { authCtx.handleWindowCallback(); } var loginError = authCtx.getLoginError(); if (!loginError && isCallback) { var x = Observable.create((_obs) => { this.obs = _obs; }); setTimeout(() => { authCtx.acquireToken(this.authConfig.endpoints.orgUri, this.getToken); }, 1); return x; } if (loginError) { throw loginError; } if (!isCallback) { let user = authCtx.getCachedUser(); if (user == null) { authCtx.login(); } else { console.log(user); } } return Observable.create((obs) => { setTimeout(() => { obs.next(true); }); }); } getToken(error, token) { if (error) { console.log(error); } if (this.xrmService.debug) { console.log(token); } this.xrmService.token = token; this.obs.next(true); } } XrmAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmAuthService, deps: [{ token: i1.XrmConfigService }, { token: i2.XrmService }], target: i0.ɵɵFactoryTarget.Injectable }); XrmAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmAuthService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: XrmAuthService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.XrmConfigService }, { type: i2.XrmService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMva2lwb24teHJtc2VydmljZS9zcmMvbGliL2F1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUF3Q2xDLE1BQU0sT0FBTyxjQUFjO0lBSXZCLFlBQW9CLGdCQUFrQyxFQUFVLFVBQXNCO1FBQWxFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUssQ0FBQztJQUU1RixZQUFZO1FBQ1IsSUFBSSxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDekMsTUFBTSxtREFBbUQsQ0FBQztTQUM3RDtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRXBELElBQUksT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBZ0IsQ0FBQztRQUNsRixJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUQsSUFBSSxVQUFVLEVBQUU7WUFDWixPQUFPLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUNsQztRQUVELElBQUksVUFBVSxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUV6QyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsRUFBRTtZQUM3QixJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ04sT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELElBQUksVUFBVSxFQUFFO1lBQ1osTUFBTSxVQUFVLENBQUM7U0FDcEI7UUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2IsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25DLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDbkI7aUJBQU07Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyQjtTQUNKO1FBRUQsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7WUFDakMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQWEsRUFBRSxLQUFhO1FBQ3pDLElBQUksS0FBSyxFQUFFO1lBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDOzsyR0EvRFEsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBYcm1TZXJ2aWNlIH0gZnJvbSAnLi94cm0uc2VydmljZSc7XHJcbmltcG9ydCB7IFhybUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL3hybWNvbmZpZy5zZXJ2aWNlJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhVc2VyUHJvZmlsZSB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFVzZXIge1xyXG4gICAgcHJvZmlsZTogQXV0aFVzZXJQcm9maWxlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb250ZXh0IHtcclxuICAgIGlzQ2FsbGJhY2soaGFzaDogc3RyaW5nKTogYm9vbGVhbjtcclxuICAgIGhhbmRsZVdpbmRvd0NhbGxiYWNrKCk6IHZvaWQ7XHJcbiAgICBnZXRMb2dpbkVycm9yKCk6IHN0cmluZztcclxuICAgIGdldENhY2hlZFVzZXIoKTogQXV0aFVzZXI7XHJcbiAgICBsb2dpbigpOiB2b2lkO1xyXG4gICAgbG9nT3V0KCk6IHZvaWQ7XHJcbiAgICBhY3F1aXJlVG9rZW4odXJsOiBzdHJpbmcsIGNhbGxiYWNrOiBhbnkpOiB2b2lkO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdXRoQ29uZmlnRW5kcG9pbnQge1xyXG4gICAgb3JnVXJpOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XHJcbiAgICB0ZW5hbnQ6IHN0cmluZztcclxuICAgIGNsaWVudElkOiBzdHJpbmc7XHJcbiAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IHN0cmluZztcclxuICAgIGVuZHBvaW50czogQXV0aENvbmZpZ0VuZHBvaW50O1xyXG4gICAgY2FjaGVMb2NhdGlvbjogc3RyaW5nO1xyXG4gICAgdmVyc2lvbjogc3RyaW5nO1xyXG59XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgWHJtQXV0aFNlcnZpY2Uge1xyXG4gIGF1dGhDb25maWc6IEF1dGhDb25maWc7XHJcbiAgb2JzOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB4cm1Db25maWdTZXJ2aWNlOiBYcm1Db25maWdTZXJ2aWNlLCBwcml2YXRlIHhybVNlcnZpY2U6IFhybVNlcnZpY2UgKSB7IH1cclxuXHJcbiAgICBhdXRoZW50aWNhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKHdpbmRvd1tcIkF1dGhlbnRpY2F0aW9uQ29udGV4dFwiXSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRocm93IFwiWW91IG11c3QgbG9hZCBhZGFsLmpzIHRvIHRoZSBwYWdlIGhlYWRlciBzY3JpcHRzLlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hdXRoQ29uZmlnID0gdGhpcy54cm1Db25maWdTZXJ2aWNlLmdldENvbmZpZygpO1xyXG5cclxuICAgICAgICBsZXQgYXV0aEN0eCA9IG5ldyB3aW5kb3dbXCJBdXRoZW50aWNhdGlvbkNvbnRleHRcIl0odGhpcy5hdXRoQ29uZmlnKSBhcyBBdXRoQ29udGV4dDtcclxuICAgICAgICBsZXQgaXNDYWxsYmFjayA9IGF1dGhDdHguaXNDYWxsYmFjayh3aW5kb3cubG9jYXRpb24uaGFzaCk7XHJcblxyXG4gICAgICAgIGlmIChpc0NhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIGF1dGhDdHguaGFuZGxlV2luZG93Q2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhciBsb2dpbkVycm9yID0gYXV0aEN0eC5nZXRMb2dpbkVycm9yKCk7XHJcblxyXG4gICAgICAgIGlmICghbG9naW5FcnJvciAmJiBpc0NhbGxiYWNrKSB7XHJcbiAgICAgICAgICB2YXIgeCA9IE9ic2VydmFibGUuY3JlYXRlKChfb2JzOmFueSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9icyA9IF9vYnM7XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgYXV0aEN0eC5hY3F1aXJlVG9rZW4odGhpcy5hdXRoQ29uZmlnLmVuZHBvaW50cy5vcmdVcmksIHRoaXMuZ2V0VG9rZW4pO1xyXG4gICAgICAgICAgICB9LCAxKTtcclxuICAgICAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobG9naW5FcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBsb2dpbkVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFpc0NhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIGxldCB1c2VyID0gYXV0aEN0eC5nZXRDYWNoZWRVc2VyKCk7XHJcbiAgICAgICAgICAgIGlmICh1c2VyID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGF1dGhDdHgubG9naW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHVzZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKG9iczphbnkpID0+IHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvYnMubmV4dCh0cnVlKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRUb2tlbihlcnJvcjogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnhybVNlcnZpY2UuZGVidWcpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codG9rZW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnhybVNlcnZpY2UudG9rZW4gPSB0b2tlbjtcclxuICAgICAgICB0aGlzLm9icy5uZXh0KHRydWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==