Есть ли способ проверить срок действия токена OAuth для библиотеки MSAL Microsoft?
У меня есть этот код, который генерирует токен OAuth:
public class MsalAuthenticator
{
private readonly string _clientScope;
private readonly string _clientTenantId;
private readonly IConfidentialClientApplication _app;
public MsalAuthenticator(string clientId, string clientSecret, string clientScope, string clientTenantId)
{
_clientScope = clientScope;
_clientTenantId = clientTenantId;
_app = ConfidentialClientApplicationBuilder.Create(clientId)
.WithClientSecret(clientSecret)
.Build();
}
public async Task<string> GetTokenAsync()
{
try
{
var task = Task.Run(() => _app.AcquireTokenForClient(scopes: new[] { _clientScope })
.WithTenantId(_clientTenantId)
.ExecuteAsync());
task.Wait();
return task.Result.AccessToken;
}
catch (Exception e)
{
//_logger.Error("Failed to get MSAL Authenticator token", e);
}
return string.Empty;
}
}
https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-overview
Можно ли каким-либо образом сгенерировать токен, только если срок его действия истек?
Есть ли в библиотеке MSAL конечная точка, которую можно использовать для определения срока действия токена?
И какую стратегию можно использовать для достижения этой цели? Нужно ли хранить существующий рабочий токен в базе данных?