Просмотр исходного кода

Increase OIDCIssuer.defaultHttpOptions.timeout

- Increase  OIDCIssuer.defaultHttpOptions.timeout on each attempt
- Fix error logging
mudana 4 лет назад
Родитель
Сommit
a6abcb5953
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      packages/app/src/server/service/passport.ts

+ 6 - 2
packages/app/src/server/service/passport.ts

@@ -743,11 +743,15 @@ class PassportService implements S2sMessageHandlable {
       return OIDCIssuer.discover(issuerHost);
     }, {
       onFailedAttempt: (error) => {
-        logger.debug(`OidcStrategy: setup attempt ${error.attemptNumber} failed with error: ${error.error} Retrying ...`);
+        // get current OIDCIssuer.defaultHttpOptions.timeout
+        const oidcOptionTimeout = OIDCIssuer.defaultHttpOptions.timeout;
+        // Increases OIDCIssuer.defaultHttpOptions.timeout by squaring 1.5 with attempNumber on each attempt
+        OIDCIssuer.defaultHttpOptions = { timeout: oidcOptionTimeout * (1.5 ** error.attemptNumber) };
+        logger.debug(`OidcStrategy: setup attempt ${error.attemptNumber} failed with error: ${error}. Retrying ...`);
       },
       retries: 2,
     }).catch((error) => {
-      logger.error(`OidcStrategy: setup failed after ${error.atemptNumber} attempts with error: ${error.error} `);
+      logger.error(`OidcStrategy: setup failed with error: ${error} `);
     });
     return oidcIssuer;
   }