При использовании расширения RequestResourceOwnerPasswordAsync
для TokenClient
при получении ответа с refresh_token
и expires_in
существует ли имплементация по умолчанию в памяти кэша токенов?
Который по истечении access_token
(автоматически исключается из кэша) клиент токена может использовать для запроса токена с помощью токена обновления.
Или мы должны сами развернуть?
private async Task<string> GetToken(
string clientId, string clientSecret, string username, string password)
{
string tokenAddress = "https://api.example.com/oauth2/token";
var tokenClient = new TokenClient(tokenAddress, clientId, clientSecret);
var result = await tokenClient.RequestResourceOwnerPasswordAsync(username, password);
// do we create a wrapper around the token client that will implement a cache and auto-refresh
// so that the next call, with same arguments will return same result.AccessToken
// if still within bounds of the TimeNow.AddSeconds(result.ExpiresIn) window
return result.AccessToken;
}