@@ -5,106 +5,103 @@ import { applicationCreate } from "./application/applicationCreate";
5
5
import { applicationToken } from "./application/applicationToken" ;
6
6
import { applicationUpdate } from "./application/applicationUpdate" ;
7
7
import { applicationDelete } from "./application/applicationDelete" ;
8
- import { createAdminJWT } from "../crypto" ;
9
8
import { requestRegister } from "./webauthn/requestRegister" ;
10
- import { validateAdminFunctions , validateAppFunctions , validateWebAuthnFunctions } from "./validate" ;
11
9
import { register } from "./webauthn/register" ;
12
10
import { refresh } from "./webauthn/refresh" ;
13
11
import { onboard } from "./webauthn/onboard" ;
14
12
import { requestOnboard } from "./webauthn/requestOnboard" ;
15
13
import { updateCredentials } from "./webauthn/updateCredentials" ;
16
14
import { requestLogin } from "./webauthn/requestLogin" ;
17
15
import { login } from "./webauthn/login" ;
16
+ import { validateWebAuthnToken } from "./validate/validateWebAuthn" ;
17
+ import { validateApplicationToken } from "./validate/validateApplication" ;
18
+ import { validateAdminToken } from "./validate/validateAdmin" ;
19
+ import { serverExportPublicKey } from "./server/serverExportPublicKey" ;
18
20
19
21
export const apiRouter = Router ( ) ;
20
22
21
23
const dashboardUrl = process . env . DASHBOARD_URL || "http://localhost:9090" ;
22
24
23
25
apiRouter . get (
24
26
"/application/list" ,
25
- validateAdminFunctions ,
27
+ [ validateAdminToken ] ,
26
28
async ( req : Request , res : Response ) => applicationList ( req , res )
27
29
) ;
28
30
29
31
apiRouter . post (
30
32
"/application/token" ,
31
- validateAdminFunctions ,
33
+ [ validateAdminToken ] ,
32
34
async ( req : Request , res : Response ) => applicationToken ( req , res )
33
35
) ;
34
36
35
37
apiRouter . post (
36
38
"/application/create" ,
37
- validateAdminFunctions ,
39
+ [ validateAdminToken ] ,
38
40
async ( req : Request , res : Response ) => applicationCreate ( req , res )
39
41
) ;
40
42
41
43
apiRouter . post (
42
44
"/application/update" ,
43
- validateAdminFunctions ,
45
+ [ validateAdminToken ] ,
44
46
async ( req : Request , res : Response ) => applicationUpdate ( req , res )
45
47
) ;
46
48
47
49
apiRouter . post (
48
50
"/application/delete" ,
49
- validateAdminFunctions ,
51
+ [ validateAdminToken ] ,
50
52
async ( req : Request , res : Response ) => applicationDelete ( req , res )
51
53
) ;
52
54
53
55
apiRouter . post (
54
56
"/webauthn/request-register" ,
55
- validateAppFunctions ,
57
+ [ validateApplicationToken ] ,
56
58
async ( req : Request , res : Response ) => requestRegister ( req , res )
57
59
) ;
58
60
59
61
apiRouter . post (
60
62
"/webauthn/register" ,
61
- validateAppFunctions ,
63
+ [ validateApplicationToken ] ,
62
64
async ( req : Request , res : Response ) => register ( req , res )
63
65
) ;
64
66
65
67
apiRouter . post (
66
68
"/webauthn/request-login" ,
67
- validateAppFunctions ,
69
+ [ validateApplicationToken ] ,
68
70
async ( req : Request , res : Response ) => requestLogin ( req , res )
69
71
) ;
70
72
71
73
apiRouter . post (
72
74
"/webauthn/login" ,
73
- validateAppFunctions ,
75
+ [ validateApplicationToken ] ,
74
76
async ( req : Request , res : Response ) => login ( req , res )
75
77
) ;
76
78
77
79
apiRouter . post (
78
80
"/webauthn/update-credentials" ,
79
- validateWebAuthnFunctions ,
81
+ [ validateWebAuthnToken ] ,
80
82
async ( req : Request , res : Response ) => updateCredentials ( req , res )
81
83
) ;
82
84
83
85
apiRouter . post (
84
86
"/webauthn/request-onboard" ,
85
- validateWebAuthnFunctions ,
87
+ [ validateWebAuthnToken ] ,
86
88
async ( req : Request , res : Response ) => requestOnboard ( req , res )
87
89
) ;
88
90
89
91
apiRouter . post (
90
92
"/webauthn/onboard" ,
91
- validateWebAuthnFunctions ,
93
+ [ validateWebAuthnToken ] ,
92
94
async ( req : Request , res : Response ) => onboard ( req , res )
93
95
) ;
94
96
95
97
apiRouter . post (
96
98
"/webauthn/refresh-token" ,
97
- validateAppFunctions ,
99
+ [ validateApplicationToken ] ,
98
100
async ( req : Request , res : Response ) => refresh ( req , res )
99
101
)
100
102
101
- export async function initAdmin ( ) : Promise < boolean > {
102
- try {
103
- const token = await createAdminJWT ( ) ;
104
- console . log ( `Dashboard Url: ${ dashboardUrl } /${ token } ` ) ;
105
- return true ;
106
- } catch ( err ) {
107
- console . error ( err ) ;
108
- return false ;
109
- }
110
- }
103
+ apiRouter . get (
104
+ "/server/publicKey" ,
105
+ [ validateApplicationToken ] ,
106
+ async ( req : Request , res : Response ) => serverExportPublicKey ( req , res )
107
+ ) ;
0 commit comments