Angular Interceptor: Set cacheMode compiler error

Hi

Using the Auth0 Angular SDK and the configuring the Interceptor, I’m trying to pass in the cacheMode parameter as part of the tokenOptions object as follows:


allowedList: [
{
uri: ‘https://api.x.api.com/api/api/api*’,
tokenOptions: {
authorizationParams: {
audience: ‘https://api.api.api’,
},
cacheMode: ‘off’,
},
},
]

But I get the following error at compile time:

Types of property ‘allowedList’ are incompatible.

Type '({ uri: string; tokenOptions: { authorizationParams: { audience: string; }; cacheMode: string; }; } | { uri: string; tokenOptions: { authorizationParams: { audience: string; }; cacheMode?: undefined; }; })[]' is not assignable to type 'ApiRouteDefinition[]'.

  Type '{ uri: string; tokenOptions: { authorizationParams: { audience: string; }; cacheMode: string; }; } | { uri: string; tokenOptions: { authorizationParams: { audience: string; }; cacheMode?: undefined; }; }' is not assignable to type 'ApiRouteDefinition'.

    Type '{ uri: string; tokenOptions: { authorizationParams: { audience: string; }; cacheMode: string; }; }' is not assignable to type 'ApiRouteDefinition'.

      Type '{ uri: string; tokenOptions: { authorizationParams: { audience: string; }; cacheMode: string; }; }' is not assignable to type 'HttpInterceptorRouteConfig'.

        The types of 'tokenOptions.cacheMode' are incompatible between these types.
          Type 'string' is not assignable to type '"off" | "on" | "cache-only"'.

The weird thing is, when I set the same parameter when calling getAccessTokenSilently directly I don’t get the same error:

this.auth
.getAccessTokenSilently({
authorizationParams: {
audience: ‘https://api.api.api’,
},
cacheMode: ‘off’,
})

Both objects, tokenOptions in the interceptor and options of the getAccessTokenSilently method, are the same type GetTokenSilentlyOptions.

Any ideas?

Thanks in advance!

Hi, @matthew.brownlow-hew, and sorry for the late reply!

You get this compile-time error because the interface HttpInterceptorRouteConfig does not contain a cacheMode property.

Please see this doc for allowed properties.

Let me know if I can be of more assistance.
Teodor.