@owlmeans/client-auth 0.1.1 → 0.1.2
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/LICENSE +1 -1
- package/build/components/dispatcher/component.d.ts.map +1 -1
- package/build/components/dispatcher/component.js +5 -2
- package/build/components/dispatcher/component.js.map +1 -1
- package/build/components/dispatcher/types.d.ts +2 -0
- package/build/components/dispatcher/types.d.ts.map +1 -1
- package/build/helper.d.ts +1 -1
- package/build/helper.d.ts.map +1 -1
- package/build/helper.js +13 -12
- package/build/helper.js.map +1 -1
- package/package.json +20 -19
- package/src/components/dispatcher/component.tsx +5 -2
- package/src/components/dispatcher/types.ts +2 -0
- package/src/helper.ts +13 -11
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2026 OwlMeans Common — Fullstack typescript framework
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,YAAY,CAAA;AAczE,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2B,cAAc,EAAE,MAAM,YAAY,CAAA;AAczE,eAAO,MAAM,aAAa,EAAE,cA4E3B,CAAA"}
|
|
@@ -7,7 +7,7 @@ import { useNavigate } from '@owlmeans/client';
|
|
|
7
7
|
import { DEFAULT_ALIAS as FLOW_SERVICE } from '@owlmeans/client-flow';
|
|
8
8
|
import { FLOW_PLACEHOLDER, OidcAuthStep, STD_OIDC_FLOW } from '@owlmeans/flow';
|
|
9
9
|
import { SERVICE_PARAM } from '@owlmeans/web-flow';
|
|
10
|
-
export const DispatcherHOC = Renderer => ({ context, params, alias, query }) => {
|
|
10
|
+
export const DispatcherHOC = Renderer => ({ context, params, alias, query, payload }) => {
|
|
11
11
|
const [forwarding, setForwarding] = useState();
|
|
12
12
|
const navigator = useNavigate();
|
|
13
13
|
const navigate = useCallback(async () => {
|
|
@@ -34,7 +34,7 @@ export const DispatcherHOC = Renderer => ({ context, params, alias, query }) =>
|
|
|
34
34
|
// We do nothing if we are in the middle of a flow
|
|
35
35
|
if (await flow.supplied) {
|
|
36
36
|
const state = await flow.state();
|
|
37
|
-
// If the flow we are in already has a
|
|
37
|
+
// If the flow we are in already has a target, it means this is some flow
|
|
38
38
|
// that is really happening and we do not need to override it with our own.
|
|
39
39
|
// It's MAY BE required on the auth manager service side, cause this
|
|
40
40
|
// component is actually reused by both service and identity providers of OwlMeans.
|
|
@@ -47,6 +47,9 @@ export const DispatcherHOC = Renderer => ({ context, params, alias, query }) =>
|
|
|
47
47
|
const target = (SERVICE_PARAM in params ? params[SERVICE_PARAM] : context.cfg.shortAlias);
|
|
48
48
|
if (target != null) {
|
|
49
49
|
model.target(target);
|
|
50
|
+
if (payload != null) {
|
|
51
|
+
model.updatePayload(payload);
|
|
52
|
+
}
|
|
50
53
|
}
|
|
51
54
|
else if (model.state().flow === STD_OIDC_FLOW) {
|
|
52
55
|
const target = model.step().service;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGxD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,MAAM,CAAC,MAAM,aAAa,GAAmB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/dispatcher/component.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,13 @@ import type { RoutedComponent } from '@owlmeans/client';
|
|
|
3
3
|
import type { AuthToken } from '@owlmeans/auth';
|
|
4
4
|
import type { ClientContext, ClientConfig } from '@owlmeans/client-context';
|
|
5
5
|
import type { AbstractRequest } from '@owlmeans/module';
|
|
6
|
+
import type { FlowPayload } from '@owlmeans/flow';
|
|
6
7
|
export interface DispatcherProps {
|
|
7
8
|
alias: string;
|
|
8
9
|
params: AbstractRequest['params'];
|
|
9
10
|
query?: AbstractRequest['query'];
|
|
10
11
|
context: ClientContext<ClientConfig>;
|
|
12
|
+
payload?: FlowPayload;
|
|
11
13
|
}
|
|
12
14
|
export interface TDispatcherHOC {
|
|
13
15
|
(Renderer: DispatcherRenderer): RoutedComponent<DispatcherProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/dispatcher/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/dispatcher/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAA;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;IAChC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IACpC,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,kBAAmB,SAAQ,EAAE,CAAC,uBAAuB,CAAC;CACtE;AAED,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;IAC3E,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9B"}
|
package/build/helper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ClientModule } from '@owlmeans/client-module';
|
|
2
2
|
import type { AbstractRequest } from '@owlmeans/module';
|
|
3
3
|
export declare const useWs: (module: string | ClientModule<any>, _request?: Partial<AbstractRequest<any>>) => import("@owlmeans/socket").Connection | null;
|
|
4
|
-
export declare const useSelfAuth: (force?: boolean
|
|
4
|
+
export declare const useSelfAuth: (force?: boolean) => boolean;
|
|
5
5
|
//# sourceMappingURL=helper.d.ts.map
|
package/build/helper.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AASvD,eAAO,MAAM,KAAK,GAChB,QAAQ,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,WAAW,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,iDA2B7E,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,QAAO,OAAc,
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AASvD,eAAO,MAAM,KAAK,GAChB,QAAQ,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,WAAW,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,iDA2B7E,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,QAAO,OAAc,YAoBhD,CAAA"}
|
package/build/helper.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { useContext } from '@owlmeans/client';
|
|
1
|
+
import { useContext, useNavigate } from '@owlmeans/client';
|
|
2
2
|
import { provideRequest } from '@owlmeans/client-module';
|
|
3
3
|
import { useWs as useWebSocket } from '@owlmeans/client-socket';
|
|
4
4
|
import { useEffect, useMemo, useState } from 'react';
|
|
5
|
-
import { AUTH_QUERY } from '@owlmeans/auth';
|
|
6
|
-
import { useFlow } from '@owlmeans/web-flow'
|
|
7
|
-
import { DEFAULT_ENTITY } from './consts.js'
|
|
8
|
-
import { OidcAuthStep } from '@owlmeans/flow'
|
|
5
|
+
import { AUTH_QUERY, DISPATCHER } from '@owlmeans/auth';
|
|
6
|
+
// import { useFlow } from '@owlmeans/web-flow'
|
|
7
|
+
// import { DEFAULT_ENTITY } from './consts.js'
|
|
8
|
+
// import { OidcAuthStep } from '@owlmeans/flow'
|
|
9
9
|
export const useWs = (module, _request) => {
|
|
10
10
|
const ctx = useContext();
|
|
11
11
|
const mod = useMemo(() => typeof module === 'string' ? ctx.module(module) : module, [module]);
|
|
@@ -28,21 +28,22 @@ export const useWs = (module, _request) => {
|
|
|
28
28
|
}, [_request]);
|
|
29
29
|
return useWebSocket(module, request);
|
|
30
30
|
};
|
|
31
|
-
export const useSelfAuth = (force = true
|
|
31
|
+
export const useSelfAuth = (force = true /*, entity: string = DEFAULT_ENTITY*/) => {
|
|
32
32
|
const context = useContext();
|
|
33
|
-
const flow = useFlow(context.cfg.shortAlias ?? context.cfg.service)
|
|
33
|
+
// const flow = useFlow(context.cfg.shortAlias ?? context.cfg.service)
|
|
34
34
|
const [authenticated, setAuthenticated] = useState(false);
|
|
35
|
+
const nav = useNavigate();
|
|
35
36
|
useEffect(() => {
|
|
36
|
-
if (flow == null)
|
|
37
|
-
return;
|
|
37
|
+
// if (flow == null) return
|
|
38
38
|
context.auth().authenticated().then(async (auth) => {
|
|
39
39
|
if (force && !auth) {
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
nav.go(DISPATCHER);
|
|
41
|
+
// flow.flow().entity(entity)
|
|
42
|
+
// await flow.proceed(flow.flow().transition(OidcAuthStep.Ephemeral))
|
|
42
43
|
}
|
|
43
44
|
setAuthenticated(!!auth);
|
|
44
45
|
});
|
|
45
|
-
}, [
|
|
46
|
+
}, []);
|
|
46
47
|
return authenticated;
|
|
47
48
|
};
|
|
48
49
|
//# sourceMappingURL=helper.js.map
|
package/build/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAG/D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AACvD,+CAA+C;AAC/C,+CAA+C;AAC/C,gDAAgD;AAEhD,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,MAAkC,EAAE,QAAwC,EAC5E,EAAE;IACF,MAAM,GAAG,GAAG,UAAU,EAAkD,CAAA;IAExE,MAAM,GAAG,GAAG,OAAO,CACjB,GAAG,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAe,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CACvF,CAAA;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC;YACH,IAAI,QAAQ,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC1C,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;oBAC3B,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAA;gBACrB,CAAC;gBACD,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAiB,IAAI,CAAA,qCAAqC,EAAE,EAAE;IACxF,MAAM,OAAO,GAAG,UAAU,EAAkD,CAAA;IAC5E,sEAAsE;IACtE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACzD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,2BAA2B;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YAC/C,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;gBAClB,6BAA6B;gBAC7B,qEAAqE;YACvE,CAAC;YAED,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/client-auth",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"license": "MIT",
|
|
4
5
|
"type": "module",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"build": "tsc -b",
|
|
@@ -41,24 +42,24 @@
|
|
|
41
42
|
}
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|
|
44
|
-
"@owlmeans/auth": "^0.1.
|
|
45
|
-
"@owlmeans/auth-common": "^0.1.
|
|
46
|
-
"@owlmeans/basic-envelope": "^0.1.
|
|
47
|
-
"@owlmeans/basic-keys": "^0.1.
|
|
48
|
-
"@owlmeans/client": "^0.1.
|
|
49
|
-
"@owlmeans/client-context": "^0.1.
|
|
50
|
-
"@owlmeans/client-flow": "^0.1.
|
|
51
|
-
"@owlmeans/client-module": "^0.1.
|
|
52
|
-
"@owlmeans/client-resource": "^0.1.
|
|
53
|
-
"@owlmeans/client-socket": "^0.1.
|
|
54
|
-
"@owlmeans/context": "^0.1.
|
|
55
|
-
"@owlmeans/did": "^0.1.
|
|
56
|
-
"@owlmeans/error": "^0.1.
|
|
57
|
-
"@owlmeans/flow": "^0.1.
|
|
58
|
-
"@owlmeans/module": "^0.1.
|
|
59
|
-
"@owlmeans/resource": "^0.1.
|
|
60
|
-
"@owlmeans/socket": "^0.1.
|
|
61
|
-
"@owlmeans/web-flow": "^0.1.
|
|
45
|
+
"@owlmeans/auth": "^0.1.2",
|
|
46
|
+
"@owlmeans/auth-common": "^0.1.2",
|
|
47
|
+
"@owlmeans/basic-envelope": "^0.1.2",
|
|
48
|
+
"@owlmeans/basic-keys": "^0.1.2",
|
|
49
|
+
"@owlmeans/client": "^0.1.2",
|
|
50
|
+
"@owlmeans/client-context": "^0.1.2",
|
|
51
|
+
"@owlmeans/client-flow": "^0.1.2",
|
|
52
|
+
"@owlmeans/client-module": "^0.1.2",
|
|
53
|
+
"@owlmeans/client-resource": "^0.1.2",
|
|
54
|
+
"@owlmeans/client-socket": "^0.1.2",
|
|
55
|
+
"@owlmeans/context": "^0.1.2",
|
|
56
|
+
"@owlmeans/did": "^0.1.2",
|
|
57
|
+
"@owlmeans/error": "^0.1.2",
|
|
58
|
+
"@owlmeans/flow": "^0.1.2",
|
|
59
|
+
"@owlmeans/module": "^0.1.2",
|
|
60
|
+
"@owlmeans/resource": "^0.1.2",
|
|
61
|
+
"@owlmeans/socket": "^0.1.2",
|
|
62
|
+
"@owlmeans/web-flow": "^0.1.2",
|
|
62
63
|
"@scure/base": "^1.1.9"
|
|
63
64
|
},
|
|
64
65
|
"peerDependencies": {
|
|
@@ -13,7 +13,7 @@ import { DEFAULT_ALIAS as FLOW_SERVICE } from '@owlmeans/client-flow'
|
|
|
13
13
|
import { FLOW_PLACEHOLDER, OidcAuthStep, STD_OIDC_FLOW } from '@owlmeans/flow'
|
|
14
14
|
import { SERVICE_PARAM } from '@owlmeans/web-flow'
|
|
15
15
|
|
|
16
|
-
export const DispatcherHOC: TDispatcherHOC = Renderer => ({ context, params, alias, query }) => {
|
|
16
|
+
export const DispatcherHOC: TDispatcherHOC = Renderer => ({ context, params, alias, query, payload }) => {
|
|
17
17
|
const [forwarding, setForwarding] = useState<StateToken | undefined>()
|
|
18
18
|
|
|
19
19
|
const navigator = useNavigate()
|
|
@@ -41,7 +41,7 @@ export const DispatcherHOC: TDispatcherHOC = Renderer => ({ context, params, ali
|
|
|
41
41
|
// We do nothing if we are in the middle of a flow
|
|
42
42
|
if (await flow.supplied) {
|
|
43
43
|
const state = await flow.state()
|
|
44
|
-
// If the flow we are in already has a
|
|
44
|
+
// If the flow we are in already has a target, it means this is some flow
|
|
45
45
|
// that is really happening and we do not need to override it with our own.
|
|
46
46
|
// It's MAY BE required on the auth manager service side, cause this
|
|
47
47
|
// component is actually reused by both service and identity providers of OwlMeans.
|
|
@@ -56,6 +56,9 @@ export const DispatcherHOC: TDispatcherHOC = Renderer => ({ context, params, ali
|
|
|
56
56
|
) as string | undefined
|
|
57
57
|
if (target != null) {
|
|
58
58
|
model.target(target)
|
|
59
|
+
if (payload != null) {
|
|
60
|
+
model.updatePayload(payload)
|
|
61
|
+
}
|
|
59
62
|
} else if (model.state().flow === STD_OIDC_FLOW) {
|
|
60
63
|
const target = model.step().service
|
|
61
64
|
model.target(target)
|
|
@@ -3,12 +3,14 @@ import type { RoutedComponent } from '@owlmeans/client'
|
|
|
3
3
|
import type { AuthToken } from '@owlmeans/auth'
|
|
4
4
|
import type { ClientContext, ClientConfig } from '@owlmeans/client-context'
|
|
5
5
|
import type { AbstractRequest } from '@owlmeans/module'
|
|
6
|
+
import type { FlowPayload } from '@owlmeans/flow'
|
|
6
7
|
|
|
7
8
|
export interface DispatcherProps {
|
|
8
9
|
alias: string
|
|
9
10
|
params: AbstractRequest['params']
|
|
10
11
|
query?: AbstractRequest['query']
|
|
11
12
|
context: ClientContext<ClientConfig>
|
|
13
|
+
payload?: FlowPayload
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export interface TDispatcherHOC {
|
package/src/helper.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useContext } from '@owlmeans/client'
|
|
1
|
+
import { useContext, useNavigate } from '@owlmeans/client'
|
|
2
2
|
import type { ClientModule } from '@owlmeans/client-module'
|
|
3
3
|
import { provideRequest } from '@owlmeans/client-module'
|
|
4
4
|
import { useWs as useWebSocket } from '@owlmeans/client-socket'
|
|
@@ -6,10 +6,10 @@ import type { AbstractRequest } from '@owlmeans/module'
|
|
|
6
6
|
import type { AuthServiceAppend } from './types.js'
|
|
7
7
|
import { useEffect, useMemo, useState } from 'react'
|
|
8
8
|
import type { ClientContext } from '@owlmeans/client-context'
|
|
9
|
-
import { AUTH_QUERY } from '@owlmeans/auth'
|
|
10
|
-
import { useFlow } from '@owlmeans/web-flow'
|
|
11
|
-
import { DEFAULT_ENTITY } from './consts.js'
|
|
12
|
-
import { OidcAuthStep } from '@owlmeans/flow'
|
|
9
|
+
import { AUTH_QUERY, DISPATCHER } from '@owlmeans/auth'
|
|
10
|
+
// import { useFlow } from '@owlmeans/web-flow'
|
|
11
|
+
// import { DEFAULT_ENTITY } from './consts.js'
|
|
12
|
+
// import { OidcAuthStep } from '@owlmeans/flow'
|
|
13
13
|
|
|
14
14
|
export const useWs = (
|
|
15
15
|
module: string | ClientModule<any>, _request?: Partial<AbstractRequest<any>>
|
|
@@ -41,22 +41,24 @@ export const useWs = (
|
|
|
41
41
|
return useWebSocket(module, request)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
export const useSelfAuth = (force: boolean = true
|
|
44
|
+
export const useSelfAuth = (force: boolean = true/*, entity: string = DEFAULT_ENTITY*/) => {
|
|
45
45
|
const context = useContext() as unknown as AuthServiceAppend & ClientContext
|
|
46
|
-
const flow = useFlow(context.cfg.shortAlias ?? context.cfg.service)
|
|
46
|
+
// const flow = useFlow(context.cfg.shortAlias ?? context.cfg.service)
|
|
47
47
|
const [authenticated, setAuthenticated] = useState(false)
|
|
48
|
+
const nav = useNavigate()
|
|
48
49
|
|
|
49
50
|
useEffect(() => {
|
|
50
|
-
if (flow == null) return
|
|
51
|
+
// if (flow == null) return
|
|
51
52
|
context.auth().authenticated().then(async auth => {
|
|
52
53
|
if (force && !auth) {
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
nav.go(DISPATCHER)
|
|
55
|
+
// flow.flow().entity(entity)
|
|
56
|
+
// await flow.proceed(flow.flow().transition(OidcAuthStep.Ephemeral))
|
|
55
57
|
}
|
|
56
58
|
|
|
57
59
|
setAuthenticated(!!auth)
|
|
58
60
|
})
|
|
59
|
-
}, [
|
|
61
|
+
}, [])
|
|
60
62
|
|
|
61
63
|
return authenticated
|
|
62
64
|
}
|