@@ -15,8 +15,8 @@ const WONDERWALL_ID_TOKEN_HEADER = 'x-wonderwall-id-token';
15
15
const attachToken = ( applicationName : ApplicationName ) : RequestHandler => {
16
16
return async ( req : Request , res : Response , next : NextFunction ) => {
17
17
try {
18
- const authenticationHeader = await prepareSecuredRequest ( req , applicationName ) ;
19
- req . headers [ AUTHORIZATION_HEADER ] = authenticationHeader . authorization ;
18
+ const token = await prepareSecuredRequest ( req , applicationName ) ;
19
+ req . headers [ AUTHORIZATION_HEADER ] = token ;
20
20
req . headers [ WONDERWALL_ID_TOKEN_HEADER ] = '' ;
21
21
next ( ) ;
22
22
} catch ( error ) {
@@ -35,9 +35,9 @@ const harBearerToken = (authorization: string) => {
35
35
return authorization . includes ( 'Bearer ' ) ;
36
36
} ;
37
37
38
- const utledToken = ( req : Request , authorization : string | undefined ) : string => {
38
+ const utledToken = ( authorization : string | undefined ) : string => {
39
39
if ( erLokalt ( ) ) {
40
- return req . cookies [ 'localhost-idtoken' ] ;
40
+ throw Error ( 'Lokal profil kan bruke fakedings direkte' ) ;
41
41
} else if ( authorization && harBearerToken ( authorization ) ) {
42
42
return authorization . split ( ' ' ) [ 1 ] ;
43
43
} else {
@@ -48,19 +48,25 @@ const utledToken = (req: Request, authorization: string | undefined): string =>
48
48
const prepareSecuredRequest = async ( req : Request , applicationName : ApplicationName ) => {
49
49
logRequest ( req , 'PrepareSecuredRequest' , LOG_LEVEL . INFO ) ;
50
50
const { authorization } = req . headers ;
51
- const token = utledToken ( req , authorization ) ;
52
51
if ( erLokalt ( ) ) {
53
- return {
54
- authorization : `Bearer ${ token } ` ,
55
- } ;
52
+ return await getFakedingsToken ( applicationName ) ;
56
53
}
54
+ const token = utledToken ( authorization ) ;
57
55
logRequest ( req , 'IdPorten-token found: ' + ( token . length > 1 ) , LOG_LEVEL . INFO ) ;
58
56
const accessToken = await exchangeToken ( token , applicationName ) . then (
59
57
accessToken => accessToken
60
58
) ;
61
- return {
62
- authorization : `Bearer ${ accessToken } ` ,
63
- } ;
59
+ return `Bearer ${ accessToken } ` ;
60
+ } ;
61
+
62
+ const getFakedingsToken = async ( applicationName : string ) : Promise < string > => {
63
+ const clientId = 'dev-gcp:teamfamilie:familie-ks-soknad' ;
64
+ const audience = `dev-gcp:teamfamilie:${ applicationName } ` ;
65
+ const url = `http://fakedings.intern.dev.nav.no/fake/tokenx?client_id=${ clientId } &aud=${ audience } &acr=Level4&pid=31458931375` ;
66
+ const token = await fetch ( url ) . then ( function ( body ) {
67
+ return body . text ( ) ;
68
+ } ) ;
69
+ return `Bearer ${ token } ` ;
64
70
} ;
65
71
66
72
export default attachToken ;
0 commit comments