aliyun-net-credentials/BaseCredential.cs (33 lines of code) (raw):
using System;
using System.Threading.Tasks;
using Aliyun.Credentials.Models;
using Aliyun.Credentials.Provider;
using Aliyun.Credentials.Utils;
namespace Aliyun.Credentials
{
public class BaseCredential
{
protected long expiration;
protected IAlibabaCloudCredentialsProvider provider;
public BaseCredential()
{
}
public BaseCredential(long expiration, IAlibabaCloudCredentialsProvider provider)
{
this.expiration = expiration;
this.provider = provider;
}
public bool WithShouldRefresh()
{
return DateTime.UtcNow.GetTimeMillis() >= (this.expiration - 180 * 1000);
}
public CredentialModel GetNewCredential()
{
return provider.GetCredentials();
}
public async Task<CredentialModel> GetNewCredentialAsync()
{
return await provider.GetCredentialsAsync();
}
}
}