Skip to content

Commit f87b896

Browse files
committed
Use IIdentityService for asynchronous authentication when available
1 parent 54bfe42 commit f87b896

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/corelib/Providers/Rackspace/ProviderBase`1.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,12 @@ protected virtual Task<Uri> GetBaseUriAsync(CancellationToken cancellationToken)
994994
/// <preliminary/>
995995
protected virtual Task<Tuple<IdentityToken, Uri>> AuthenticateServiceAsync(CancellationToken cancellationToken)
996996
{
997-
Task<IdentityToken> authenticate = Task.Factory.StartNew(() => IdentityProvider.GetToken(GetDefaultIdentity(null)));
997+
Task<IdentityToken> authenticate;
998+
IIdentityService identityService = IdentityProvider as IIdentityService;
999+
if (identityService != null)
1000+
authenticate = identityService.GetTokenAsync(GetDefaultIdentity(null), cancellationToken);
1001+
else
1002+
authenticate = Task.Factory.StartNew(() => IdentityProvider.GetToken(GetDefaultIdentity(null)));
9981003

9991004
Func<Task<IdentityToken>, Task<Tuple<IdentityToken, Uri>>> getBaseUri =
10001005
task =>

0 commit comments

Comments
 (0)