UNPKG

11.5 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';
9import { concat, from, of, throwError } from 'rxjs';
10import { catchError, switchMap, tap } from 'rxjs/operators';
11import { Location } from '@angular/common';
12var 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}());
88export { AuthPage };
89function 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