@@ -32,15 +32,38 @@ declare namespace KeycloakConnect {
32
32
cookies ?: boolean
33
33
}
34
34
35
+ interface Claims {
36
+ // In the future it may make sense to populate this with some known claims
37
+ [ key : string ] : any
38
+ }
39
+
40
+ interface EnforcerOptions {
41
+ response_mode ?: 'permissions' | 'token'
42
+ resource_server_id ?: string
43
+ claims ?: Claims
44
+ }
45
+
46
+ interface Permission {
47
+ id : string
48
+ scopes ?: string [ ]
49
+ }
50
+
51
+ interface TokenContent {
52
+ exp : number
53
+ }
54
+
35
55
interface GrantProperties {
36
56
access_token ?: Token
37
57
refresh_token ?: Token
38
58
id_token ?: Token
39
- expires_in ?: string
59
+ expires_in ?: number
40
60
token_type ?: string
41
61
}
42
62
43
63
interface Token {
64
+ clientId ?: string
65
+ token ?: string
66
+ content ?: TokenContent
44
67
isExpired ( ) : boolean
45
68
hasRole ( roleName : string ) : boolean
46
69
hasApplicationRole ( appName : string , roleName : string ) : boolean
@@ -201,12 +224,19 @@ declare namespace KeycloakConnect {
201
224
}
202
225
203
226
interface AuthZRequest {
204
- audience ?: string ,
205
- response_mode ?: string ,
206
- claim_token ?: string ,
207
- claim_token_format ?: string ,
227
+ audience ?: string
228
+ claim_token ?: string
229
+ claim_token_format ?: string
208
230
permissions : { id : string , scopes : string [ ] } [ ]
209
231
}
232
+
233
+ interface AuthZRequestGrant extends AuthZRequest {
234
+ response_mode : undefined
235
+ }
236
+
237
+ interface AuthZRequestOther extends AuthZRequest {
238
+ response_mode : 'decision' | 'permissions'
239
+ }
210
240
211
241
212
242
interface Keycloak {
@@ -409,7 +439,8 @@ declare namespace KeycloakConnect {
409
439
410
440
getGrantFromCode ( code : string , req : express . Request , res : express . Response ) : Promise < Grant >
411
441
412
- checkPermissions ( authzRequest : AuthZRequest , request : express . Request , callback ?: ( json : any ) => any ) : Promise < Grant >
442
+ checkPermissions ( authzRequest : AuthZRequestGrant , request : express . Request , callback ?: ( grant : Grant ) => void ) : Promise < Grant >
443
+ checkPermissions ( authzRequest : AuthZRequestOther , request : express . Request , callback ?: ( json : any ) => void ) : Promise < Object >
413
444
414
445
loginUrl ( uuid : string , redirectUrl : string ) : string
415
446
0 commit comments