'Is there a possibility to set RefreshTokenUsage in oidc client?

i have a problem with my token. when we start our program, the cache should be checked for a valid token. This works for the first time, but afterwards refreshToken.isError is always true, even when the token should not be expired yet. I found this page https://identityserver4.readthedocs.io/en/latest/topics/refresh_tokens.html but i cant find a way to set RefreshTokenUsage. If anyone has an idea how this problem could be fixed, that would be very helpful.

Here is the method:

      private async Task<string?> TryGetTokenFromCache()
    {
        StatusChangeEvent?.InvokeRetrievingTokenFromCache();
        var existingToken = _dataProtection.Unprotect(_cacheFilePath);
        if (existingToken != null)
        {
            var token = System.Text.Encoding.Default.GetString(existingToken);
            if (!string.IsNullOrEmpty(token))
            {
                var refreshTokenResult = await _client.RefreshTokenAsync(token);
                if (!refreshTokenResult.IsError)
                {
                    StatusChangeEvent?.InvokeLoggedIn();
                    return refreshTokenResult.AccessToken;
                }
            }
        }

        return null;
    }


Solution 1:[1]

Solution: We did not set the new refresh token in the cache file. We just had to write the new refreshtoken to the cache file when result is not error.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 lolzor