@@ -24,8 +24,12 @@ const onbaseDocumentsUrl = `${baseUri}/app/${apiServer}/onbase/core/documents`;
24
24
const onbaseDocumentTypesUrl = `${ baseUri } /app/${ apiServer } /onbase/core/document-types` ;
25
25
const onbaseKeywordTypesUrl = `${ baseUri } /app/${ apiServer } /onbase/core/keyword-types` ;
26
26
27
- let accessToken ;
28
- let expireTimeStamp ;
27
+ const tokenTable = { } ;
28
+ _ . forEach (
29
+ _ . keys ( onbaseProfiles ) , ( onbaseProfile ) => {
30
+ tokenTable [ onbaseProfile ] = { accessToken : undefined , expireTimeStamp : undefined } ;
31
+ } ,
32
+ ) ;
29
33
30
34
/**
31
35
* Get FB_LB cookie token from response headers
@@ -48,8 +52,11 @@ const getFbLbCookie = (res) => {
48
52
const getAccessToken = async ( onbaseProfile ) => {
49
53
try {
50
54
if (
51
- accessToken === undefined
52
- || ( expireTimeStamp !== undefined && moment ( ) . isAfter ( expireTimeStamp ) )
55
+ tokenTable [ onbaseProfile ] . accessToken === undefined
56
+ || (
57
+ tokenTable [ onbaseProfile ] . expireTimeStamp !== undefined
58
+ && moment ( ) . isAfter ( tokenTable [ onbaseProfile ] . expireTimeStamp )
59
+ )
53
60
) {
54
61
const { username, password } = onbaseProfiles [ onbaseProfile ] ;
55
62
@@ -71,12 +78,12 @@ const getAccessToken = async (onbaseProfile) => {
71
78
} ;
72
79
73
80
const res = await axios ( reqConfig ) ;
74
- accessToken = res . data . access_token ;
81
+ tokenTable [ onbaseProfile ] . accessToken = res . data . access_token ;
75
82
// access token expire in an hour. Set up an expire date when request a new token.
76
- expireTimeStamp = moment ( ) . add ( 55 , 'minutes' ) ;
77
- return [ accessToken , getFbLbCookie ( res ) ] ;
83
+ tokenTable [ onbaseProfile ] . expireTimeStamp = moment ( ) . add ( 55 , 'minutes' ) ;
84
+ return [ tokenTable [ onbaseProfile ] . accessToken , getFbLbCookie ( res ) ] ;
78
85
}
79
- return [ accessToken ] ;
86
+ return [ tokenTable [ onbaseProfile ] . accessToken ] ;
80
87
} catch ( err ) {
81
88
if ( err . response && err . response . status !== 200 ) {
82
89
logger . error ( err . response . data . error ) ;
0 commit comments