UNPKG

7.29 kBJavaScriptView Raw
1/**
2 * @fileoverview added by tsickle
3 * @suppress {checkTypes} checked by tsc
4 */
5import { Component } from '@angular/core';
6import { ActivatedRoute } from '@angular/router';
7import { NacoService } from '../../domains/services/naco.service';
8import { Storage } from '@ubud/storage';
9export class AuthPage {
10 /**
11 * @param {?} route
12 * @param {?} naco
13 * @param {?} storage
14 */
15 constructor(route, naco, storage) {
16 this.route = route;
17 this.naco = naco;
18 this.storage = storage;
19 this.message = 'Authenticating...';
20 this.route.queryParams.subscribe((params) => this.handle(params));
21 }
22 /**
23 * @param {?} params
24 * @return {?}
25 */
26 handle(params) {
27 if (params["state"]) {
28 this.naco.getState().then((state) => {
29 if (state !== params["state"]) {
30 this.message = 'Invalid CSRF';
31 return;
32 }
33 this.authenticate(params);
34 });
35 }
36 else {
37 this.authenticate(params);
38 }
39 }
40 /**
41 * @param {?} params
42 * @return {?}
43 */
44 authenticate(params) {
45 const /** @type {?} */ signature = {
46 expiresIn: params["expires_in"],
47 type: params["token_type"],
48 token: params["access_token"],
49 };
50 this.naco.setUser(null);
51 this.naco.setSignature(signature);
52 this.naco.getUser().subscribe((user) => {
53 if (null !== user) {
54 this.storage.get('naco_intended_url').then((url) => {
55 this.storage.remove('naco_intended_url').then(() => {
56 window.location.href = url ? url : '/';
57 });
58 });
59 return;
60 }
61 this.message = 'Unauthenticated!';
62 });
63 }
64}
65AuthPage.decorators = [
66 { type: Component, args: [{
67 selector: 'naker-auth-page',
68 template: '{{ message }}',
69 },] },
70];
71/** @nocollapse */
72AuthPage.ctorParameters = () => [
73 { type: ActivatedRoute },
74 { type: NacoService },
75 { type: Storage }
76];
77function AuthPage_tsickle_Closure_declarations() {
78 /** @type {?} */
79 AuthPage.prototype.message;
80 /** @type {?} */
81 AuthPage.prototype.route;
82 /** @type {?} */
83 AuthPage.prototype.naco;
84 /** @type {?} */
85 AuthPage.prototype.storage;
86}
87
88//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ha2VyL25hY28vIiwic291cmNlcyI6WyJ2aWV3cy9wYWdlcy9hdXRoLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTXhDLE1BQU07Ozs7OztnQkFHeUIsS0FBcUIsRUFBVSxJQUFpQixFQUFVLE9BQWdCO1FBQTFFLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7dUJBRjVFLG1CQUFtQjtRQUd4QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzs7Ozs7O0lBR3ZFLE1BQU0sQ0FBQyxNQUFjO1FBQ3hCLElBQUksTUFBTSxXQUFRO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7Z0JBQy9DLElBQUksS0FBSyxLQUFLLE1BQU0sU0FBTSxFQUFFO29CQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztvQkFFOUIsT0FBTztpQkFDVjtnQkFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdCLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzdCOzs7Ozs7SUFHRyxZQUFZLENBQUMsTUFBYztRQUMvQix1QkFBTSxTQUFTLEdBQWM7WUFDekIsU0FBUyxFQUFFLE1BQU0sY0FBVztZQUM1QixJQUFJLEVBQUUsTUFBTSxjQUFXO1lBQ3ZCLEtBQUssRUFBRSxNQUFNLGdCQUFhO1NBQzdCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQWlCLEVBQUUsRUFBRTtZQUNoRCxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUMvQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO3FCQUMxQyxDQUFDLENBQUM7aUJBQ04sQ0FBQyxDQUFDO2dCQUVILE9BQU87YUFDVjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUM7U0FDckMsQ0FBQyxDQUFDOzs7O1lBakRWLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUUsZUFBZTthQUM1Qjs7OztZQVRRLGNBQWM7WUFDZCxXQUFXO1lBR1gsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOYWNvU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbnMvc2VydmljZXMvbmFjby5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hdHVyZSB9IGZyb20gJy4uLy4uL2RvbWFpbnMvdmFsdWVzL3NpZ25hdHVyZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vZG9tYWlucy9tb2RlbHMvdXNlcic7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQHVidWQvc3RvcmFnZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmFrZXItYXV0aC1wYWdlJyxcbiAgICB0ZW1wbGF0ZTogJ3t7IG1lc3NhZ2UgfX0nLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoUGFnZSB7XG4gICAgcHVibGljIG1lc3NhZ2U6IHN0cmluZyA9ICdBdXRoZW50aWNhdGluZy4uLic7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgbmFjbzogTmFjb1NlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSkge1xuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zOiBQYXJhbXMpID0+IHRoaXMuaGFuZGxlKHBhcmFtcykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGUocGFyYW1zOiBQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHBhcmFtcy5zdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5uYWNvLmdldFN0YXRlKCkudGhlbigoc3RhdGU6IHN0cmluZyB8IG51bGwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUgIT09IHBhcmFtcy5zdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnSW52YWxpZCBDU1JGJztcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGUocGFyYW1zKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGUocGFyYW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXV0aGVudGljYXRlKHBhcmFtczogUGFyYW1zKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZTogU2lnbmF0dXJlID0ge1xuICAgICAgICAgICAgZXhwaXJlc0luOiBwYXJhbXMuZXhwaXJlc19pbixcbiAgICAgICAgICAgIHR5cGU6IHBhcmFtcy50b2tlbl90eXBlLFxuICAgICAgICAgICAgdG9rZW46IHBhcmFtcy5hY2Nlc3NfdG9rZW4sXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5uYWNvLnNldFVzZXIobnVsbCk7XG4gICAgICAgIHRoaXMubmFjby5zZXRTaWduYXR1cmUoc2lnbmF0dXJlKTtcblxuICAgICAgICB0aGlzLm5hY28uZ2V0VXNlcigpLnN1YnNjcmliZSgodXNlcjogVXNlciB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGlmIChudWxsICE9PSB1c2VyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yYWdlLmdldCgnbmFjb19pbnRlbmRlZF91cmwnKS50aGVuKCh1cmw6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCduYWNvX2ludGVuZGVkX3VybCcpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmwgPyB1cmwgOiAnLyc7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSAnVW5hdXRoZW50aWNhdGVkISc7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuIl19
\No newline at end of file