1 | /**
|
2 | * @fileoverview added by tsickle
|
3 | * @suppress {checkTypes} checked by tsc
|
4 | */
|
5 | import { Component } from '@angular/core';
|
6 | import { ActivatedRoute } from '@angular/router';
|
7 | import { NacoService } from '../../domains/services/naco.service';
|
8 | import { Storage } from '@ubud/storage';
|
9 | import { concat, from, of, throwError } from 'rxjs';
|
10 | import { catchError, switchMap, tap } from 'rxjs/operators';
|
11 | import { Location } from '@angular/common';
|
12 | var AuthPage = /** @class */ (function () {
|
13 | function AuthPage(route, naco, storage, location) {
|
14 | this.route = route;
|
15 | this.naco = naco;
|
16 | this.storage = storage;
|
17 | this.location = location;
|
18 | this.message$ = concat(of('Authenticating...'), this.handle());
|
19 | }
|
20 | /**
|
21 | * @return {?}
|
22 | */
|
23 | AuthPage.prototype.handle = /**
|
24 | * @return {?}
|
25 | */
|
26 | function () {
|
27 | var _this = this;
|
28 | return from(this.naco.getState()).pipe(switchMap(function (state) {
|
29 | return _this.route.queryParams.pipe(switchMap(function (params) {
|
30 | if (state && params["state"] !== state) {
|
31 | return throwError('Invalid CSRF Token');
|
32 | }
|
33 | return of(params);
|
34 | }));
|
35 | }), switchMap(function (params) {
|
36 | _this.naco.setUser(null);
|
37 | if (params["access_token"]) {
|
38 | _this.naco.setSignature({
|
39 | expiresIn: params["expires_in"],
|
40 | type: params["token_type"],
|
41 | token: params["access_token"],
|
42 | scopes: decodeURIComponent(params["scopes"]),
|
43 | });
|
44 | return _this.naco.getUser();
|
45 | }
|
46 | if (params["code"]) {
|
47 | return _this.naco.getAccessTokenFromAuthCode(params["code"], _this.naco.getCurrentOrigin('/auth')).pipe(tap(function (tokens) {
|
48 | _this.naco.setSignature({
|
49 | expiresIn: tokens.expires_in,
|
50 | type: tokens.token_type,
|
51 | token: tokens.access_token,
|
52 | scopes: decodeURIComponent(tokens.scopes),
|
53 | });
|
54 | _this.naco.setRefreshToken({
|
55 | expiresIn: tokens.expires_in,
|
56 | type: tokens.token_type,
|
57 | token: tokens.refresh_token,
|
58 | scopes: decodeURIComponent(tokens.scopes),
|
59 | });
|
60 | }), switchMap(function () { return _this.naco.getUser(); }));
|
61 | }
|
62 | return of(null);
|
63 | }), switchMap(function (user) {
|
64 | if (null === user) {
|
65 | return throwError(new Error('Unauthenticated!'));
|
66 | }
|
67 | _this.naco.goToIntendedUrl();
|
68 | return of('Success, please wait for redirecting...');
|
69 | }), catchError(function (e) {
|
70 | return of(e.message);
|
71 | }));
|
72 | };
|
73 | AuthPage.decorators = [
|
74 | { type: Component, args: [{
|
75 | selector: 'naker-auth-page',
|
76 | template: '{{ message$ | async }}',
|
77 | },] },
|
78 | ];
|
79 | /** @nocollapse */
|
80 | AuthPage.ctorParameters = function () { return [
|
81 | { type: ActivatedRoute },
|
82 | { type: NacoService },
|
83 | { type: Storage },
|
84 | { type: Location }
|
85 | ]; };
|
86 | return AuthPage;
|
87 | }());
|
88 | export { AuthPage };
|
89 | function AuthPage_tsickle_Closure_declarations() {
|
90 | /** @type {?} */
|
91 | AuthPage.prototype.message$;
|
92 | /** @type {?} */
|
93 | AuthPage.prototype.route;
|
94 | /** @type {?} */
|
95 | AuthPage.prototype.naco;
|
96 | /** @type {?} */
|
97 | AuthPage.prototype.storage;
|
98 | /** @type {?} */
|
99 | AuthPage.prototype.location;
|
100 | }
|
101 |
|
102 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wYWdlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5ha2VyL25hY28vIiwic291cmNlcyI6WyJ2aWV3cy9wYWdlcy9hdXRoLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztzQkFTWixLQUFxQixFQUFVLElBQWlCLEVBQVUsT0FBZ0IsRUFBVSxRQUFrQjtRQUF0RyxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUM3SCxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQzs7Ozs7SUFHNUQseUJBQU07Ozs7O1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDbEMsU0FBUyxDQUFDLFVBQUEsS0FBSztZQUNYLE9BQU8sS0FBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUM5QixTQUFTLENBQUMsVUFBQSxNQUFNO2dCQUNaLElBQUksS0FBSyxJQUFJLE1BQU0sY0FBVyxLQUFLLEVBQUU7b0JBQ2pDLE9BQU8sVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7aUJBQzNDO2dCQUVELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3JCLENBQUMsQ0FDTCxDQUFDO1NBQ0wsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxVQUFDLE1BQWM7WUFDckIsS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEIsSUFBSSxNQUFNLGtCQUFlO2dCQUNyQixLQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztvQkFDbkIsU0FBUyxFQUFFLE1BQU0sY0FBVztvQkFDNUIsSUFBSSxFQUFFLE1BQU0sY0FBVztvQkFDdkIsS0FBSyxFQUFFLE1BQU0sZ0JBQWE7b0JBQzFCLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLFdBQVE7aUJBQzVDLENBQUMsQ0FBQztnQkFFSCxPQUFPLEtBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDOUI7WUFFRCxJQUFJLE1BQU0sVUFBTztnQkFDYixPQUFPLEtBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsTUFBTSxVQUFPLEtBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlGLEdBQUcsQ0FBQyxVQUFDLE1BQVc7b0JBQ1osS0FBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7d0JBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsVUFBVTt3QkFDNUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVO3dCQUN2QixLQUFLLEVBQUUsTUFBTSxDQUFDLFlBQVk7d0JBQzFCLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM1QyxDQUFDLENBQUM7b0JBRUgsS0FBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLFNBQVMsRUFBRSxNQUFNLENBQUMsVUFBVTt3QkFDNUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVO3dCQUN2QixLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWE7d0JBQzNCLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM1QyxDQUFDLENBQUM7aUJBQ04sQ0FBQyxFQUNGLFNBQVMsQ0FBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBbkIsQ0FBbUIsQ0FBQyxDQUN2QyxDQUFDO2FBQ0w7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQixDQUFDLEVBQ0YsU0FBUyxDQUFDLFVBQUEsSUFBSTtZQUNWLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDZixPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7YUFDcEQ7WUFFRCxLQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRTVCLE9BQU8sRUFBRSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDeEQsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxVQUFBLENBQUM7WUFDUixPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEIsQ0FBQyxDQUNMLENBQUM7OztnQkF6RVQsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ3JDOzs7O2dCQVZRLGNBQWM7Z0JBQ2QsV0FBVztnQkFDWCxPQUFPO2dCQUdQLFFBQVE7O21CQU5qQjs7U0FZYSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE5hY29TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZG9tYWlucy9zZXJ2aWNlcy9uYWNvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gJ0B1YnVkL3N0b3JhZ2UnO1xuaW1wb3J0IHsgY29uY2F0LCBmcm9tLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmFrZXItYXV0aC1wYWdlJyxcbiAgICB0ZW1wbGF0ZTogJ3t7IG1lc3NhZ2UkIHwgYXN5bmMgfX0nLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoUGFnZSB7XG4gICAgcHVibGljIG1lc3NhZ2UkOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgbmFjbzogTmFjb1NlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24pIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlJCA9IGNvbmNhdChvZignQXV0aGVudGljYXRpbmcuLi4nKSwgdGhpcy5oYW5kbGUoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLm5hY28uZ2V0U3RhdGUoKSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcChzdGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGUucXVlcnlQYXJhbXMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdGUgJiYgcGFyYW1zLnN0YXRlICE9PSBzdGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCdJbnZhbGlkIENTUkYgVG9rZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocGFyYW1zOiBQYXJhbXMpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5hY28uc2V0VXNlcihudWxsKTtcblxuICAgICAgICAgICAgICAgIGlmIChwYXJhbXMuYWNjZXNzX3Rva2VuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmFjby5zZXRTaWduYXR1cmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlc0luOiBwYXJhbXMuZXhwaXJlc19pbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHBhcmFtcy50b2tlbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW46IHBhcmFtcy5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZXM6IGRlY29kZVVSSUNvbXBvbmVudChwYXJhbXMuc2NvcGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFjby5nZXRVc2VyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtcy5jb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm5hY28uZ2V0QWNjZXNzVG9rZW5Gcm9tQXV0aENvZGUocGFyYW1zLmNvZGUsIHRoaXMubmFjby5nZXRDdXJyZW50T3JpZ2luKCcvYXV0aCcpKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKCh0b2tlbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmFjby5zZXRTaWduYXR1cmUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzSW46IHRva2Vucy5leHBpcmVzX2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0b2tlbnMudG9rZW5fdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW46IHRva2Vucy5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlczogZGVjb2RlVVJJQ29tcG9uZW50KHRva2Vucy5zY29wZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYWNvLnNldFJlZnJlc2hUb2tlbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXNJbjogdG9rZW5zLmV4cGlyZXNfaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHRva2Vucy50b2tlbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbjogdG9rZW5zLnJlZnJlc2hfdG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlczogZGVjb2RlVVJJQ29tcG9uZW50KHRva2Vucy5zY29wZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5uYWNvLmdldFVzZXIoKSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzd2l0Y2hNYXAodXNlciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG51bGwgPT09IHVzZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdVbmF1dGhlbnRpY2F0ZWQhJykpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMubmFjby5nb1RvSW50ZW5kZWRVcmwoKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBvZignU3VjY2VzcywgcGxlYXNlIHdhaXQgZm9yIHJlZGlyZWN0aW5nLi4uJyk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGUubWVzc2FnZSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0= |
\ | No newline at end of file |