1
- import { interactionPolicy } from "oidc-provider" ;
1
+ import { interactionPolicy , type InteractionResults } from "oidc-provider" ;
2
+ import type { OIDCContextParams } from "../config/oidc-provider-configuration" ;
2
3
import { getSelectedOrganizationId } from "../repositories/redis/selected-organization" ;
3
4
import { mustReturnOneOrganizationInPayload } from "./must-return-one-organization-in-payload" ;
4
5
6
+ //
7
+
8
+ interface OidcInteractionResults extends InteractionResults {
9
+ select_organization ?: boolean ;
10
+ update_userinfo ?: boolean ;
11
+ }
12
+ //
13
+
5
14
const { Prompt, Check, base } = interactionPolicy ;
6
15
7
16
const policy = base ( ) ;
@@ -26,11 +35,9 @@ policy.add(
26
35
) &&
27
36
! selectedOrganizationId
28
37
) {
29
- // @ts -ignore
30
38
return Check . REQUEST_PROMPT ;
31
39
}
32
40
33
- // @ts -ignore
34
41
return Check . NO_NEED_TO_PROMPT ;
35
42
} ,
36
43
) ,
@@ -47,15 +54,15 @@ policy.add(
47
54
"interaction_required" ,
48
55
async ( ctx ) => {
49
56
const { oidc } = ctx ;
57
+ const oidcContextParams = ctx . oidc . params as OIDCContextParams ;
58
+ const oidcContextResult = oidc . result as OidcInteractionResults ;
50
59
if (
51
- ctx . params . prompt === "select_organization" &&
52
- ! oidc . result ?. select_organization
60
+ oidcContextParams . prompt === "select_organization" &&
61
+ ! oidcContextResult ?. select_organization
53
62
) {
54
- // @ts -ignore
55
63
return Check . REQUEST_PROMPT ;
56
64
}
57
65
58
- // @ts -ignore
59
66
return Check . NO_NEED_TO_PROMPT ;
60
67
} ,
61
68
) ,
@@ -72,15 +79,15 @@ policy.add(
72
79
"interaction_required" ,
73
80
async ( ctx ) => {
74
81
const { oidc } = ctx ;
82
+ const oidcContextParams = oidc . params as OIDCContextParams ;
83
+ const oidcContextResult = oidc . result as OidcInteractionResults ;
75
84
if (
76
- ctx . params . prompt === "update_userinfo" &&
77
- ! oidc . result ?. update_userinfo
85
+ oidcContextParams . prompt === "update_userinfo" &&
86
+ ! oidcContextResult ?. update_userinfo
78
87
) {
79
- // @ts -ignore
80
88
return Check . REQUEST_PROMPT ;
81
89
}
82
90
83
- // @ts -ignore
84
91
return Check . NO_NEED_TO_PROMPT ;
85
92
} ,
86
93
) ,
0 commit comments