@darajs/core 1.13.0 → 1.14.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -0
- package/dist/api/http.d.ts +1 -10
- package/dist/api/http.d.ts.map +1 -1
- package/dist/api/http.js +37 -7
- package/dist/api/http.js.map +1 -1
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/auth/auth-wrapper.d.ts.map +1 -1
- package/dist/auth/auth-wrapper.js +21 -20
- package/dist/auth/auth-wrapper.js.map +1 -1
- package/dist/auth/auth.d.ts +3 -5
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +16 -20
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/basic/basic-auth-login.d.ts.map +1 -1
- package/dist/auth/basic/basic-auth-login.js +8 -12
- package/dist/auth/basic/basic-auth-login.js.map +1 -1
- package/dist/auth/basic/basic-auth-logout.d.ts.map +1 -1
- package/dist/auth/basic/basic-auth-logout.js +3 -4
- package/dist/auth/basic/basic-auth-logout.js.map +1 -1
- package/dist/auth/default/default-auth-login.d.ts.map +1 -1
- package/dist/auth/default/default-auth-login.js +7 -15
- package/dist/auth/default/default-auth-login.js.map +1 -1
- package/dist/auth/index.d.ts +2 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +2 -2
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/use-session-token.d.ts +7 -0
- package/dist/auth/use-session-token.d.ts.map +1 -0
- package/dist/auth/use-session-token.js +18 -0
- package/dist/auth/use-session-token.js.map +1 -0
- package/dist/components/fallback/dots.d.ts +0 -1
- package/dist/components/fallback/dots.d.ts.map +1 -1
- package/dist/{dara_core-1.13.0-py3-none-any.whl → dara_core-1.14.0a0-py3-none-any.whl} +0 -0
- package/dist/devtools/floating-button.d.ts +0 -1
- package/dist/devtools/floating-button.d.ts.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/shared/context/direction-context.d.ts +0 -1
- package/dist/shared/context/direction-context.d.ts.map +1 -1
- package/dist/shared/context/display-context.d.ts +0 -1
- package/dist/shared/context/display-context.d.ts.map +1 -1
- package/dist/shared/context/importers-context.d.ts +0 -1
- package/dist/shared/context/importers-context.d.ts.map +1 -1
- package/dist/shared/context/index.d.ts +0 -1
- package/dist/shared/context/index.d.ts.map +1 -1
- package/dist/shared/context/index.js +0 -1
- package/dist/shared/context/index.js.map +1 -1
- package/dist/shared/context/registries-context.d.ts +0 -1
- package/dist/shared/context/registries-context.d.ts.map +1 -1
- package/dist/shared/context/request-extras-context.d.ts +0 -2
- package/dist/shared/context/request-extras-context.d.ts.map +1 -1
- package/dist/shared/context/request-extras-context.js +2 -8
- package/dist/shared/context/request-extras-context.js.map +1 -1
- package/dist/shared/context/websocket-context.d.ts +0 -1
- package/dist/shared/context/websocket-context.d.ts.map +1 -1
- package/dist/shared/global-state-store.d.ts +51 -0
- package/dist/shared/global-state-store.d.ts.map +1 -0
- package/dist/shared/global-state-store.js +135 -0
- package/dist/shared/global-state-store.js.map +1 -0
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/derived-variable.js +3 -3
- package/dist/shared/interactivity/derived-variable.js.map +1 -1
- package/dist/shared/interactivity/persistence.d.ts +2 -3
- package/dist/shared/interactivity/persistence.d.ts.map +1 -1
- package/dist/shared/interactivity/persistence.js +10 -13
- package/dist/shared/interactivity/persistence.js.map +1 -1
- package/dist/shared/private-route/private-route.js +1 -1
- package/dist/shared/private-route/private-route.js.map +1 -1
- package/dist/shared/template-root/template-root.js +1 -1
- package/dist/shared/template-root/template-root.js.map +1 -1
- package/dist/shared/utils/inject-css.d.ts +0 -1
- package/dist/shared/utils/inject-css.d.ts.map +1 -1
- package/dist/shared/utils/use-action.js +2 -2
- package/dist/shared/utils/use-action.js.map +1 -1
- package/dist/types/core.d.ts +0 -1
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/utils.js +3 -2
- package/dist/types/utils.js.map +1 -1
- package/dist/umd/dara.core.umd.js +722 -778
- package/package.json +9 -11
- package/dist/auth/auth-context.d.ts +0 -22
- package/dist/auth/auth-context.d.ts.map +0 -1
- package/dist/auth/auth-context.js +0 -18
- package/dist/auth/auth-context.js.map +0 -1
package/README.md
CHANGED
|
@@ -79,6 +79,21 @@ This repository covers the Dara Application Framework first-party packages.
|
|
|
79
79
|
- `dara-components`: Components for the Dara Framework.
|
|
80
80
|
- `create-dara-app`: A CLI tool for creating new Dara applications.
|
|
81
81
|
|
|
82
|
+
And the supporting UI packages and tools.
|
|
83
|
+
|
|
84
|
+
- `eslint-config` - base ESLint configuration
|
|
85
|
+
- `prettier-config` - base Prettier configuration
|
|
86
|
+
- `stylelint-config` - base Stylelint configuration
|
|
87
|
+
- `styled-components` - styled-components theme
|
|
88
|
+
- `ui-causal-graph-editor` - causal graph editor component
|
|
89
|
+
- `ui-code-editor` - code editor component
|
|
90
|
+
- `ui-components` - base UI components
|
|
91
|
+
- `ui-hierarchy-viewer` - hierarchy viewer component
|
|
92
|
+
- `ui-icons` - icon components for Dara packages
|
|
93
|
+
- `ui-notifications` - notification components
|
|
94
|
+
- `ui-utils` - miscellaneous utility functions
|
|
95
|
+
- `ui-widgets` - widget components
|
|
96
|
+
|
|
82
97
|
More information on the repository structure can be found in the [CONTRIBUTING.md](https://github.com/causalens/dara/blob/master/CONTRIBUTING.md) file.
|
|
83
98
|
|
|
84
99
|
## License
|
package/dist/api/http.d.ts
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request options to merge into the provided options.
|
|
3
|
-
*/
|
|
4
|
-
export interface RequestOptions {
|
|
5
|
-
options?: RequestInit;
|
|
6
|
-
sessionToken?: string;
|
|
7
|
-
}
|
|
8
1
|
/**
|
|
9
2
|
* Extra options to pass to the request function.
|
|
10
|
-
* If a string is passed, it is assumed to be the session token.
|
|
11
|
-
* If an object is passed, it is assumed to be a RequestOptions object with the token and additional options.
|
|
12
3
|
*/
|
|
13
|
-
export type RequestExtras =
|
|
4
|
+
export type RequestExtras = RequestInit;
|
|
14
5
|
/**
|
|
15
6
|
* Serializable form of RequestExtras.
|
|
16
7
|
* Required to use for e.g. recoil params as they need to be serializable.
|
package/dist/api/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC;;;GAGG;AACH,qBAAa,yBAAyB;IAClC,MAAM,EAAE,aAAa,CAAC;gBAEV,MAAM,EAAE,aAAa;IAIjC;;;OAGG;IACH,cAAc,IAAI,aAAa,GAAG,IAAI;IAoBtC;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;CAS1B;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqEhH"}
|
package/dist/api/http.js
CHANGED
|
@@ -20,6 +20,8 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
};
|
|
21
21
|
/* eslint-disable import/prefer-default-export */
|
|
22
22
|
import cloneDeep from 'lodash/cloneDeep';
|
|
23
|
+
import { validateResponse } from '@darajs/ui-utils';
|
|
24
|
+
import globalStore from '../shared/global-state-store';
|
|
23
25
|
/**
|
|
24
26
|
* Serializable form of RequestExtras.
|
|
25
27
|
* Required to use for e.g. recoil params as they need to be serializable.
|
|
@@ -33,7 +35,6 @@ export class RequestExtrasSerializable {
|
|
|
33
35
|
* Transforms the headers into a serializable format rather than a Headers object.
|
|
34
36
|
*/
|
|
35
37
|
toSerializable() {
|
|
36
|
-
var _a;
|
|
37
38
|
if (!this.extras) {
|
|
38
39
|
return null;
|
|
39
40
|
}
|
|
@@ -42,9 +43,9 @@ export class RequestExtrasSerializable {
|
|
|
42
43
|
}
|
|
43
44
|
const serializable = cloneDeep(this.extras);
|
|
44
45
|
// Make headers serializable
|
|
45
|
-
if (
|
|
46
|
-
const headers = new Headers(serializable.
|
|
47
|
-
serializable.
|
|
46
|
+
if (serializable === null || serializable === void 0 ? void 0 : serializable.headers) {
|
|
47
|
+
const headers = new Headers(serializable.headers);
|
|
48
|
+
serializable.headers = Object.fromEntries(headers.entries());
|
|
48
49
|
}
|
|
49
50
|
return serializable;
|
|
50
51
|
}
|
|
@@ -69,8 +70,9 @@ export class RequestExtrasSerializable {
|
|
|
69
70
|
export function request(url, options, extras) {
|
|
70
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
72
|
var _a, _b;
|
|
72
|
-
|
|
73
|
-
const
|
|
73
|
+
// block on the token in case it's locked, i.e. being refreshed by another concurrent request
|
|
74
|
+
const sessionToken = yield globalStore.getValue('sessionToken');
|
|
75
|
+
const mergedOptions = extras ? Object.assign(Object.assign({}, options), extras) : options;
|
|
74
76
|
const { headers } = mergedOptions, other = __rest(mergedOptions, ["headers"]);
|
|
75
77
|
const headersInterface = new Headers(headers);
|
|
76
78
|
// default to json accept header
|
|
@@ -87,7 +89,35 @@ export function request(url, options, extras) {
|
|
|
87
89
|
}
|
|
88
90
|
const baseUrl = (_b = (_a = window.dara) === null || _a === void 0 ? void 0 : _a.base_url) !== null && _b !== void 0 ? _b : '';
|
|
89
91
|
const urlString = url instanceof URL ? url.pathname + url.search : url;
|
|
90
|
-
|
|
92
|
+
const response = yield fetch(baseUrl + urlString, Object.assign({ headers: headersInterface }, other));
|
|
93
|
+
// in case of an auth error, attempt to refresh the token and retry the request
|
|
94
|
+
if (response.status === 401 || response.status === 403) {
|
|
95
|
+
try {
|
|
96
|
+
// Lock the token value while it's being replaced.
|
|
97
|
+
// If it's already being replaced, this will instead wait for the replacement to complete
|
|
98
|
+
// rather than invoking the refresh again.
|
|
99
|
+
const refreshedToken = yield globalStore.replaceValue('sessionToken', () => __awaiter(this, void 0, void 0, function* () {
|
|
100
|
+
const refreshResponse = yield fetch(`${baseUrl}/api/auth/refresh-token`, Object.assign(Object.assign({ headers: headersInterface }, other), { method: 'POST' }));
|
|
101
|
+
if (refreshResponse.ok) {
|
|
102
|
+
const { token } = yield refreshResponse.json();
|
|
103
|
+
return token;
|
|
104
|
+
}
|
|
105
|
+
// this will throw an error with the error content
|
|
106
|
+
yield validateResponse(refreshResponse, 'Request auth error, failed to refresh the session token');
|
|
107
|
+
}));
|
|
108
|
+
// retry the request with the new token
|
|
109
|
+
headersInterface.set('Authorization', `Bearer ${refreshedToken}`);
|
|
110
|
+
return fetch(baseUrl + urlString, Object.assign({ headers: headersInterface }, other));
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
// refresh failed - return the original request, the caller is supposed to handle the error
|
|
114
|
+
// however they wish
|
|
115
|
+
// eslint-disable-next-line no-console
|
|
116
|
+
console.error('Failed to refresh token', e);
|
|
117
|
+
return response;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return response;
|
|
91
121
|
});
|
|
92
122
|
}
|
|
93
123
|
//# sourceMappingURL=http.js.map
|
package/dist/api/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,OAAO,SAAS,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../js/api/http.tsx"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { useSession,
|
|
1
|
+
export { useSession, requestSessionToken, verifySessionToken, useUser, handleAuthErrors } from '../auth/auth';
|
|
2
2
|
export { cancelTask, fetchTaskResult, useConfig, useComponents, useTemplate, useActions } from './core';
|
|
3
3
|
export { WebSocketClientInterface, WebSocketClient, setupWebsocket } from './websocket';
|
|
4
|
-
export { request, RequestExtras
|
|
4
|
+
export { request, RequestExtras } from './http';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/api/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/api/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/api/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { useSession,
|
|
1
|
+
export { useSession, requestSessionToken, verifySessionToken, useUser, handleAuthErrors } from '../auth/auth';
|
|
2
2
|
export { cancelTask, fetchTaskResult, useConfig, useComponents, useTemplate, useActions } from './core';
|
|
3
3
|
export { WebSocketClient, setupWebsocket } from './websocket';
|
|
4
4
|
export { request } from './http';
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/api/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../js/api/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACxG,OAAO,EAA4B,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,OAAO,EAAiB,MAAM,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-wrapper.d.ts","sourceRoot":"","sources":["../../js/auth/auth-wrapper.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth-wrapper.d.ts","sourceRoot":"","sources":["../../js/auth/auth-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2C,MAAM,OAAO,CAAC;AAa3E,UAAU,gBAAgB;IACtB,2BAA2B;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACvB;AAsCD;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAkDzD;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -10,17 +10,16 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
|
|
14
|
-
import { useContext, useEffect, useState } from 'react';
|
|
13
|
+
import { useContext, useEffect, useRef, useState } from 'react';
|
|
15
14
|
import { Route, Switch } from 'react-router-dom';
|
|
16
15
|
import DefaultFallback from '../components/fallback/default';
|
|
17
16
|
import ErrorPage from '../pages/error-page';
|
|
18
17
|
import Center from '../shared/center/center';
|
|
19
18
|
import { ImportersCtx } from '../shared/context';
|
|
19
|
+
import globalStore from '../shared/global-state-store';
|
|
20
20
|
import PrivateRoute from '../shared/private-route/private-route';
|
|
21
21
|
import { getToken, getTokenKey } from '../shared/utils';
|
|
22
22
|
import { useAuthComponents } from './auth';
|
|
23
|
-
import AuthContext from './auth-context';
|
|
24
23
|
/**
|
|
25
24
|
* Simplified version of DynamicComponent, just for the auth components.
|
|
26
25
|
* This is because we can't use the component registry for auth components, since the component registry operates
|
|
@@ -45,7 +44,7 @@ function DynamicAuthComponent(props) {
|
|
|
45
44
|
.catch((err) => {
|
|
46
45
|
throw new Error(`Failed to import module ${props.component.py_module}`, err);
|
|
47
46
|
});
|
|
48
|
-
}, [props.component]);
|
|
47
|
+
}, [props.component, importers]);
|
|
49
48
|
return component;
|
|
50
49
|
}
|
|
51
50
|
/**
|
|
@@ -55,28 +54,30 @@ function DynamicAuthComponent(props) {
|
|
|
55
54
|
* @param props - the component props
|
|
56
55
|
*/
|
|
57
56
|
function AuthWrapper(props) {
|
|
58
|
-
const [token, setToken] = useState(() => getToken());
|
|
59
57
|
const { data: authComponents, isLoading } = useAuthComponents();
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
function onSetToken(newToken) {
|
|
66
|
-
const key = getTokenKey();
|
|
67
|
-
if (newToken) {
|
|
68
|
-
localStorage.setItem(key, newToken);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
localStorage.removeItem(key);
|
|
72
|
-
}
|
|
73
|
-
setToken(newToken);
|
|
58
|
+
const isMounted = useRef(false);
|
|
59
|
+
// set initial token from local storage as soon as we render
|
|
60
|
+
if (!isMounted.current) {
|
|
61
|
+
isMounted.current = true;
|
|
62
|
+
globalStore.setValue('sessionToken', getToken());
|
|
74
63
|
}
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
// sync the token with local storage
|
|
66
|
+
return globalStore.subscribe('sessionToken', (newToken) => {
|
|
67
|
+
const key = getTokenKey();
|
|
68
|
+
if (newToken) {
|
|
69
|
+
localStorage.setItem(key, newToken);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
localStorage.removeItem(key);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}, []);
|
|
75
76
|
if (isLoading) {
|
|
76
77
|
return (_jsx(Center, { children: _jsx(DefaultFallback, {}) }));
|
|
77
78
|
}
|
|
78
79
|
const { login, logout } = authComponents, extraRoutes = __rest(authComponents, ["login", "logout"]);
|
|
79
|
-
return (
|
|
80
|
+
return (_jsxs(Switch, { children: [_jsx(Route, { path: "/login", children: _jsx(DynamicAuthComponent, { component: login }) }), _jsx(Route, { path: "/logout", children: _jsx(DynamicAuthComponent, { component: logout }) }), Object.entries(extraRoutes).map(([path, component]) => (_jsx(Route, { path: `/${path}`, children: _jsx(DynamicAuthComponent, { component: component }) }, path))), _jsx(Route, { component: ErrorPage, path: "/error" }), _jsx(Route, { path: "/", render: () => _jsx(PrivateRoute, { children: props.children }) })] }));
|
|
80
81
|
}
|
|
81
82
|
export default AuthWrapper;
|
|
82
83
|
//# sourceMappingURL=auth-wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-wrapper.js","sourceRoot":"","sources":["../../js/auth/auth-wrapper.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"auth-wrapper.js","sourceRoot":"","sources":["../../js/auth/auth-wrapper.tsx"],"names":[],"mappings":"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"}
|
package/dist/auth/auth.d.ts
CHANGED
|
@@ -34,10 +34,8 @@ interface SuccessResponse {
|
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Revoke the current session
|
|
37
|
-
*
|
|
38
|
-
* @param token current token
|
|
39
37
|
*/
|
|
40
|
-
export declare function revokeSession(
|
|
38
|
+
export declare function revokeSession(): Promise<RedirectResponse | SuccessResponse>;
|
|
41
39
|
/**
|
|
42
40
|
* Helper function to handle auth errors in a response
|
|
43
41
|
*
|
|
@@ -51,10 +49,10 @@ export declare function handleAuthErrors(res: Response, toLogin?: boolean, ignor
|
|
|
51
49
|
*/
|
|
52
50
|
export declare function useUser(): UseQueryResult<UserData, RequestError>;
|
|
53
51
|
/** Api call to fetch the session token from the backend */
|
|
54
|
-
export declare function
|
|
52
|
+
export declare function requestSessionToken(body?: User): Promise<string>;
|
|
55
53
|
/** Api call to fetch the session token from the backend */
|
|
56
54
|
export declare function useSession(body?: User): UseQueryResult<string, RequestError>;
|
|
57
55
|
/** Api call to verify the session token from the backend */
|
|
58
|
-
export declare function verifySessionToken(
|
|
56
|
+
export declare function verifySessionToken(): Promise<boolean>;
|
|
59
57
|
export {};
|
|
60
58
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAe,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAK/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,aAAK,yBAAyB;IAC1B,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,YAAY,iBAAiB;CAChC;AA2CD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,cAAc,CAAC,CAYlE;AAED,UAAU,gBAAgB;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAe,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAK/E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzC,aAAK,yBAAyB;IAC1B,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,YAAY,iBAAiB;CAChC;AA2CD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,cAAc;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAAC,cAAc,CAAC,CAYlE;AAED,UAAU,gBAAgB;IACtB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,gBAAgB,GAAG,eAAe,CAAC,CAcjF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,UAAQ,EACf,YAAY,GAAE,KAAK,CAAC,yBAAyB,CAAQ,GACtD,OAAO,CAAC,OAAO,CAAC,CAqBlB;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAYhE;AAED,2DAA2D;AAC3D,wBAAsB,mBAAmB,CAAC,IAAI,GAAE,IAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB1E;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,GAAE,IAAS,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAQhF;AAED,4DAA4D;AAC5D,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAK3D"}
|
package/dist/auth/auth.js
CHANGED
|
@@ -63,26 +63,22 @@ export function useAuthComponents() {
|
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Revoke the current session
|
|
66
|
-
*
|
|
67
|
-
* @param token current token
|
|
68
66
|
*/
|
|
69
|
-
export function revokeSession(
|
|
67
|
+
export function revokeSession() {
|
|
70
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return responseData;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
catch (e) {
|
|
82
|
-
// eslint-disable-next-line no-console
|
|
83
|
-
console.error('Failed to revoke session', e);
|
|
69
|
+
try {
|
|
70
|
+
const response = yield request('/api/auth/revoke-session', {
|
|
71
|
+
method: HTTP_METHOD.POST,
|
|
72
|
+
});
|
|
73
|
+
if (response.ok) {
|
|
74
|
+
const responseData = yield response.json();
|
|
75
|
+
return responseData;
|
|
84
76
|
}
|
|
85
77
|
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
// eslint-disable-next-line no-console
|
|
80
|
+
console.error('Failed to revoke session', e);
|
|
81
|
+
}
|
|
86
82
|
});
|
|
87
83
|
}
|
|
88
84
|
/**
|
|
@@ -127,7 +123,7 @@ export function useUser() {
|
|
|
127
123
|
});
|
|
128
124
|
}
|
|
129
125
|
/** Api call to fetch the session token from the backend */
|
|
130
|
-
export function
|
|
126
|
+
export function requestSessionToken() {
|
|
131
127
|
return __awaiter(this, arguments, void 0, function* (body = {}) {
|
|
132
128
|
const res = yield request('/api/auth/session', {
|
|
133
129
|
body: JSON.stringify(body),
|
|
@@ -149,18 +145,18 @@ export function getSessionToken() {
|
|
|
149
145
|
export function useSession(body = {}) {
|
|
150
146
|
return useQuery({
|
|
151
147
|
queryFn: () => __awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
return
|
|
148
|
+
return requestSessionToken(body);
|
|
153
149
|
}),
|
|
154
150
|
queryKey: ['session'],
|
|
155
151
|
refetchOnMount: false,
|
|
156
152
|
});
|
|
157
153
|
}
|
|
158
154
|
/** Api call to verify the session token from the backend */
|
|
159
|
-
export function verifySessionToken(
|
|
155
|
+
export function verifySessionToken() {
|
|
160
156
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
157
|
const res = yield request('/api/auth/verify-session', {
|
|
162
158
|
method: HTTP_METHOD.POST,
|
|
163
|
-
}
|
|
159
|
+
});
|
|
164
160
|
return res.ok;
|
|
165
161
|
});
|
|
166
162
|
}
|
package/dist/auth/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAkB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAgB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,IAAK,yBAOJ;AAPD,WAAK,yBAAyB;IAC1B,wDAA2B,CAAA;IAC3B,sDAAyB,CAAA;IACzB,wEAA2C,CAAA;IAC3C,4DAA+B,CAAA;IAC/B,4CAAe,CAAA;IACf,0DAA6B,CAAA;AACjC,CAAC,EAPI,yBAAyB,KAAzB,yBAAyB,QAO7B;AAOD;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAY;IACvC,OAAO,CACH,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,SAAS;QACrB,OAAO,OAAO,KAAK,QAAQ;QAC3B,QAAQ,IAAI,OAAO;QACnB,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CACpE,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,OAA4B,EAAE,YAAkD;IACvG,OAAO,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAA4B;IACvD,OAAO,CAAC,yBAAyB,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,aAAa,CAAC,CAAC,QAAQ,CACpG,OAAO,CAAC,MAAM,CACjB,CAAC;AACN,CAAC;AAiBD;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC7B,OAAO,QAAQ,CACX,CAAC,iBAAiB,CAAC,EACnB,GAAS,EAAE;QACP,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACxD,MAAM,EAAE,WAAW,CAAC,GAAG;SAC1B,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAA,EACD,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAClC,CAAC;AACN,CAAC;AAUD
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../js/auth/auth.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"basic-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":"AA8HA;;GAEG;AACH,iBAAS,cAAc,IAAI,GAAG,CAAC,OAAO,CA4GrC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -10,16 +10,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
12
12
|
import { transparentize } from 'polished';
|
|
13
|
-
import {
|
|
13
|
+
import { useEffect, useState } from 'react';
|
|
14
14
|
import { useHistory, useLocation } from 'react-router-dom';
|
|
15
15
|
import styled from '@darajs/styled-components';
|
|
16
16
|
import { Button } from '@darajs/ui-components';
|
|
17
|
-
import {
|
|
17
|
+
import { requestSessionToken } from '../../api';
|
|
18
18
|
import DefaultFallback from '../../components/fallback/default';
|
|
19
19
|
import Center from '../../shared/center/center';
|
|
20
|
-
import { AuthCtx } from '../../shared/context';
|
|
21
|
-
import { getTokenKey } from '../../shared/utils';
|
|
22
20
|
import { verifySessionToken } from '../auth';
|
|
21
|
+
import { getSessionToken, setSessionToken } from '../use-session-token';
|
|
23
22
|
const Wrapper = styled.div `
|
|
24
23
|
display: flex;
|
|
25
24
|
flex: 1 1 0%;
|
|
@@ -123,7 +122,6 @@ function BasicAuthLogin() {
|
|
|
123
122
|
const [username, setUsername] = useState('');
|
|
124
123
|
const [password, setPassword] = useState('');
|
|
125
124
|
const [isError, setIsError] = useState(false);
|
|
126
|
-
const { token, setToken } = useContext(AuthCtx);
|
|
127
125
|
const history = useHistory();
|
|
128
126
|
const location = useLocation();
|
|
129
127
|
const queryParams = new URLSearchParams(location.search);
|
|
@@ -132,23 +130,21 @@ function BasicAuthLogin() {
|
|
|
132
130
|
setIsLoggingIn(true);
|
|
133
131
|
setIsError(false);
|
|
134
132
|
try {
|
|
135
|
-
const sessionToken = yield
|
|
133
|
+
const sessionToken = yield requestSessionToken({ password, username });
|
|
136
134
|
if (sessionToken) {
|
|
137
|
-
|
|
135
|
+
setSessionToken(sessionToken);
|
|
138
136
|
history.replace(decodeURIComponent(previousLocation));
|
|
139
137
|
}
|
|
140
138
|
}
|
|
141
|
-
catch (
|
|
139
|
+
catch (_a) {
|
|
142
140
|
setIsError(true);
|
|
143
141
|
}
|
|
144
142
|
setIsLoggingIn(false);
|
|
145
143
|
});
|
|
146
144
|
useEffect(() => {
|
|
147
|
-
const key = getTokenKey();
|
|
148
145
|
// If we landed on this page with a token already, verify it
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
verifySessionToken(localStorage.getItem(key)).then((verified) => {
|
|
146
|
+
if (getSessionToken()) {
|
|
147
|
+
verifySessionToken().then((verified) => {
|
|
152
148
|
// we already have a valid token, redirect
|
|
153
149
|
if (verified) {
|
|
154
150
|
history.replace(decodeURIComponent(previousLocation));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-auth-login.js","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,gDAAgD;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"basic-auth-login.js","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-login.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-auth-logout.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"basic-auth-logout.d.ts","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"AAOA;;GAEG;AACH,iBAAS,eAAe,IAAI,GAAG,CAAC,OAAO,CAStC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
2
2
|
import { useEffect } from 'react';
|
|
3
3
|
import { revokeSession } from '../../auth/auth';
|
|
4
|
-
import {
|
|
4
|
+
import { setSessionToken } from '../use-session-token';
|
|
5
5
|
/**
|
|
6
6
|
* Auth component that wipes user token in AuthContext on mount and redirects to /login
|
|
7
7
|
*/
|
|
8
8
|
function BasicAuthLogout() {
|
|
9
|
-
const { setToken, token } = useAuthCtx();
|
|
10
9
|
useEffect(() => {
|
|
11
|
-
revokeSession(
|
|
12
|
-
|
|
10
|
+
revokeSession().then(() => {
|
|
11
|
+
setSessionToken(null);
|
|
13
12
|
window.location.href = `${window.dara.base_url}/login`;
|
|
14
13
|
});
|
|
15
14
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-auth-logout.js","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"basic-auth-logout.js","sourceRoot":"","sources":["../../../js/auth/basic/basic-auth-logout.tsx"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,SAAS,eAAe;IACpB,SAAS,CAAC,GAAG,EAAE;QACX,aAAa,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACtB,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC;QAC3D,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-auth-login.d.ts","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":"AAUA;;GAEG;AACH,iBAAS,gBAAgB,IAAI,GAAG,CAAC,OAAO,CAuCvC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -9,43 +9,35 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
/* eslint-disable react-hooks/exhaustive-deps */
|
|
12
|
-
import {
|
|
12
|
+
import { useEffect } from 'react';
|
|
13
13
|
import { useHistory, useLocation } from 'react-router-dom';
|
|
14
14
|
import DefaultFallback from '../../components/fallback/default';
|
|
15
15
|
import Center from '../../shared/center/center';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { getSessionToken, verifySessionToken } from '../auth';
|
|
16
|
+
import { requestSessionToken, verifySessionToken } from '../auth';
|
|
17
|
+
import { getSessionToken, setSessionToken } from '../use-session-token';
|
|
19
18
|
/**
|
|
20
19
|
* The Login component gets a new session token from the backend and stores it in local storage
|
|
21
20
|
*/
|
|
22
21
|
function DefaultAuthLogin() {
|
|
23
22
|
var _a;
|
|
24
|
-
const { token, setToken } = useContext(AuthCtx);
|
|
25
23
|
const history = useHistory();
|
|
26
24
|
const location = useLocation();
|
|
27
25
|
const queryParams = new URLSearchParams(location.search);
|
|
28
26
|
const previousLocation = (_a = queryParams.get('referrer')) !== null && _a !== void 0 ? _a : '/';
|
|
29
27
|
function getNewToken() {
|
|
30
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
const sessionToken = yield
|
|
29
|
+
const sessionToken = yield requestSessionToken({});
|
|
32
30
|
// in default auth this always succeeds
|
|
33
31
|
if (sessionToken) {
|
|
34
|
-
|
|
32
|
+
setSessionToken(sessionToken);
|
|
35
33
|
history.replace(decodeURIComponent(previousLocation));
|
|
36
34
|
}
|
|
37
35
|
});
|
|
38
36
|
}
|
|
39
37
|
useEffect(() => {
|
|
40
|
-
const key = getTokenKey();
|
|
41
38
|
// If we landed on this page with a token already, verify it
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
if (token !== undefined && token !== null && (!storedToken || storedToken === 'undefined')) {
|
|
45
|
-
localStorage.setItem(key, token);
|
|
46
|
-
}
|
|
47
|
-
// Grab the token from local storage again as it may have changed
|
|
48
|
-
verifySessionToken(localStorage.getItem(key)).then((verified) => {
|
|
39
|
+
if (getSessionToken()) {
|
|
40
|
+
verifySessionToken().then((verified) => {
|
|
49
41
|
// we already have a valid token, redirect
|
|
50
42
|
if (verified) {
|
|
51
43
|
history.replace(decodeURIComponent(previousLocation));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-auth-login.js","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,gDAAgD;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"default-auth-login.js","sourceRoot":"","sources":["../../../js/auth/default/default-auth-login.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,gDAAgD;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,eAAe,MAAM,+BAA+B,CAAC;AAC5D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAExE;;GAEG;AACH,SAAS,gBAAgB;;IACrB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,gBAAgB,GAAG,MAAA,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,mCAAI,GAAG,CAAC;IAE5D,SAAe,WAAW;;YACtB,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;YACnD,uCAAuC;YACvC,IAAI,YAAY,EAAE,CAAC;gBACf,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC9B,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;KAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,4DAA4D;QAC5D,IAAI,eAAe,EAAE,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnC,0CAA0C;gBAC1C,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACJ,6BAA6B;oBAC7B,WAAW,EAAE,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,6BAA6B;YAC7B,WAAW,EAAE,CAAC;QAClB,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,MAAM,cACH,KAAC,eAAe,KAAG,GACd,CACZ,CAAC;AACN,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { verifySessionToken, useUser, useSession, handleAuthErrors,
|
|
1
|
+
export { getSessionToken, useSessionToken } from './use-session-token';
|
|
2
|
+
export { verifySessionToken, useUser, useSession, handleAuthErrors, requestSessionToken, revokeSession } from './auth';
|
|
3
3
|
export { default as AuthWrapper } from './auth-wrapper';
|
|
4
4
|
export { default as BasicAuthLogin } from './basic/basic-auth-login';
|
|
5
5
|
export { default as BasicAuthLogout } from './basic/basic-auth-logout';
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/auth/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/auth/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
|