Wait for the async authentication to finish when the JTW token expires
This commit is contained in:
parent
d5fe82314e
commit
c2ab0ad641
|
@ -24,24 +24,28 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
|||
{
|
||||
_cache = memoryCache;
|
||||
_tvDbClient = new TvDbClient();
|
||||
_tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey);
|
||||
_tokenCreatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
public TvDbClient TvDbClient
|
||||
private TvDbClient TvDbClient
|
||||
{
|
||||
get
|
||||
{
|
||||
if (string.IsNullOrEmpty(_tvDbClient.Authentication.Token))
|
||||
{
|
||||
_tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey).GetAwaiter().GetResult();
|
||||
_tokenCreatedAt = DateTime.Now;
|
||||
}
|
||||
|
||||
// Refresh if necessary
|
||||
if (_tokenCreatedAt < DateTime.Now.Subtract(TimeSpan.FromHours(20)))
|
||||
{
|
||||
try
|
||||
{
|
||||
_tvDbClient.Authentication.RefreshTokenAsync();
|
||||
_tvDbClient.Authentication.RefreshTokenAsync().GetAwaiter().GetResult();
|
||||
}
|
||||
catch
|
||||
{
|
||||
_tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey);
|
||||
_tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey).GetAwaiter().GetResult();
|
||||
}
|
||||
|
||||
_tokenCreatedAt = DateTime.Now;
|
||||
|
|
Loading…
Reference in New Issue
Block a user