Есть ли способ проверить срок действия токена 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 конечная точка, которую можно использовать для определения срока действия токена?

И какую стратегию можно использовать для достижения этой цели? Нужно ли хранить существующий рабочий токен в базе данных?

0 ответов

Другие вопросы по тегам