.class public Lcom/amazonaws/auth/CognitoCredentialsProvider; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/amazonaws/auth/AWSCredentialsProvider; # static fields .field public static final log:Lcom/amazonaws/logging/Log; # instance fields .field public authRoleArn:Ljava/lang/String; .field public cib:Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity; .field public final credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .field public customRoleArn:Ljava/lang/String; .field public final identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .field public refreshThreshold:I .field public final region:Ljava/lang/String; .field public securityTokenService:Lcom/amazonaws/services/securitytoken/AWSSecurityTokenService; .field public sessionCredentials:Lcom/amazonaws/auth/AWSSessionCredentials; .field public sessionCredentialsExpiration:Ljava/util/Date; .field public sessionDuration:I .field public token:Ljava/lang/String; .field public unauthRoleArn:Ljava/lang/String; .field public final useEnhancedFlow:Z # direct methods .method static constructor ()V .locals 1 const-class v0, Lcom/amazonaws/auth/AWSCredentialsProviderChain; .line 52 invoke-static {v0}, Lcom/amazonaws/logging/LogFactory;->getLog(Ljava/lang/Class;)Lcom/amazonaws/logging/Log; move-result-object v0 sput-object v0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->log:Lcom/amazonaws/logging/Log; return-void .end method .method public constructor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/regions/Regions;)V .locals 7 .line 111 new-instance v6, Lcom/amazonaws/ClientConfiguration; invoke-direct {v6}, Lcom/amazonaws/ClientConfiguration;->()V move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v3, p3 move-object v4, p4 move-object v5, p5 invoke-direct/range {v0 .. v6}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/regions/Regions;Lcom/amazonaws/ClientConfiguration;)V return-void .end method .method public constructor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/regions/Regions;Lcom/amazonaws/ClientConfiguration;)V .locals 7 .line 140 invoke-static {p6, p5}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->createIdentityClient(Lcom/amazonaws/ClientConfiguration;Lcom/amazonaws/regions/Regions;)Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentityClient; move-result-object v5 if-nez p3, :cond_0 if-nez p4, :cond_0 const/4 p5, 0x0 :goto_0 move-object v6, p5 goto :goto_1 :cond_0 new-instance p5, Lcom/amazonaws/services/securitytoken/AWSSecurityTokenServiceClient; new-instance v0, Lcom/amazonaws/auth/AnonymousAWSCredentials; invoke-direct {v0}, Lcom/amazonaws/auth/AnonymousAWSCredentials;->()V invoke-direct {p5, v0, p6}, Lcom/amazonaws/services/securitytoken/AWSSecurityTokenServiceClient;->(Lcom/amazonaws/auth/AWSCredentials;Lcom/amazonaws/ClientConfiguration;)V goto :goto_0 :goto_1 move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v3, p3 move-object v4, p4 .line 139 invoke-direct/range {v0 .. v6}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentityClient;Lcom/amazonaws/services/securitytoken/AWSSecurityTokenService;)V return-void .end method .method public constructor (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentityClient;Lcom/amazonaws/services/securitytoken/AWSSecurityTokenService;)V .locals 1 .line 266 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p5, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->cib:Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity; .line 271 invoke-virtual {p5}, Lcom/amazonaws/AmazonWebServiceClient;->getRegions()Lcom/amazonaws/regions/Regions; move-result-object v0 invoke-virtual {v0}, Lcom/amazonaws/regions/Regions;->getName()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->region:Ljava/lang/String; iput-object p6, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->securityTokenService:Lcom/amazonaws/services/securitytoken/AWSSecurityTokenService; iput-object p3, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->unauthRoleArn:Ljava/lang/String; iput-object p4, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->authRoleArn:Ljava/lang/String; const/16 p6, 0xe10 iput p6, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionDuration:I const/16 p6, 0x1f4 iput p6, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->refreshThreshold:I const/4 p6, 0x1 if-nez p3, :cond_0 if-nez p4, :cond_0 move p3, p6 goto :goto_0 :cond_0 const/4 p3, 0x0 :goto_0 iput-boolean p3, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->useEnhancedFlow:Z if-eqz p3, :cond_1 .line 282 new-instance p3, Lcom/amazonaws/auth/AWSEnhancedCognitoIdentityProvider; invoke-direct {p3, p1, p2, p5}, Lcom/amazonaws/auth/AWSEnhancedCognitoIdentityProvider;->(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity;)V iput-object p3, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; goto :goto_1 .line 286 :cond_1 new-instance p3, Lcom/amazonaws/auth/AWSBasicCognitoIdentityProvider; invoke-direct {p3, p1, p2, p5}, Lcom/amazonaws/auth/AWSBasicCognitoIdentityProvider;->(Ljava/lang/String;Ljava/lang/String;Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity;)V iput-object p3, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 289 :goto_1 new-instance p1, Ljava/util/concurrent/locks/ReentrantReadWriteLock; invoke-direct {p1, p6}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->(Z)V iput-object p1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; return-void .end method .method public static createIdentityClient(Lcom/amazonaws/ClientConfiguration;Lcom/amazonaws/regions/Regions;)Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentityClient; .locals 2 .line 147 new-instance v0, Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentityClient; new-instance v1, Lcom/amazonaws/auth/AnonymousAWSCredentials; invoke-direct {v1}, Lcom/amazonaws/auth/AnonymousAWSCredentials;->()V invoke-direct {v0, v1, p0}, Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentityClient;->(Lcom/amazonaws/auth/AWSCredentials;Lcom/amazonaws/ClientConfiguration;)V .line 148 invoke-static {p1}, Lcom/amazonaws/regions/Region;->getRegion(Lcom/amazonaws/regions/Regions;)Lcom/amazonaws/regions/Region; move-result-object p0 invoke-virtual {v0, p0}, Lcom/amazonaws/AmazonWebServiceClient;->setRegion(Lcom/amazonaws/regions/Region;)V return-object v0 .end method # virtual methods .method public final appendUserAgent(Lcom/amazonaws/AmazonWebServiceRequest;Ljava/lang/String;)V .locals 0 .line 875 invoke-virtual {p1}, Lcom/amazonaws/AmazonWebServiceRequest;->getRequestClientOptions()Lcom/amazonaws/RequestClientOptions; move-result-object p1 invoke-virtual {p1, p2}, Lcom/amazonaws/RequestClientOptions;->appendUserAgent(Ljava/lang/String;)V return-void .end method .method public clearCredentials()V .locals 2 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 667 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V const/4 v0, 0x0 :try_start_0 iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentials:Lcom/amazonaws/auth/AWSSessionCredentials; iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentialsExpiration:Ljava/util/Date; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 672 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V return-void :catchall_0 move-exception v0 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v1 invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V .line 673 throw v0 .end method .method public bridge synthetic getCredentials()Lcom/amazonaws/auth/AWSCredentials; .locals 1 .line 51 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getCredentials()Lcom/amazonaws/auth/AWSSessionCredentials; move-result-object v0 return-object v0 .end method .method public getCredentials()Lcom/amazonaws/auth/AWSSessionCredentials; .locals 2 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 471 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V .line 473 :try_start_0 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->needsNewSession()Z move-result v0 if-eqz v0, :cond_0 .line 474 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->startSession()V goto :goto_0 :catchall_0 move-exception v0 goto :goto_1 :cond_0 :goto_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentials:Lcom/amazonaws/auth/AWSSessionCredentials; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 478 invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v1 invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V return-object v0 :goto_1 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v1 invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V .line 479 throw v0 .end method .method public getIdentityId()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 423 invoke-interface {v0}, Lcom/amazonaws/auth/AWSCognitoIdentityProvider;->getIdentityId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getIdentityPoolId()Ljava/lang/String; .locals 1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 461 invoke-interface {v0}, Lcom/amazonaws/auth/AWSCognitoIdentityProvider;->getIdentityPoolId()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public getLogins()Ljava/util/Map; .locals 1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 633 invoke-interface {v0}, Lcom/amazonaws/auth/AWSCognitoIdentityProvider;->getLogins()Ljava/util/Map; move-result-object v0 return-object v0 .end method .method public getLoginsKey()Ljava/lang/String; .locals 2 .line 734 sget-object v0, Lcom/amazonaws/regions/Regions;->CN_NORTH_1:Lcom/amazonaws/regions/Regions; invoke-virtual {v0}, Lcom/amazonaws/regions/Regions;->getName()Ljava/lang/String; move-result-object v0 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->region:Ljava/lang/String; invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 const-string v0, "cognito-identity.cn-north-1.amazonaws.com.cn" return-object v0 :cond_0 const-string v0, "cognito-identity.amazonaws.com" return-object v0 .end method .method public getUserAgent()Ljava/lang/String; .locals 1 const-string v0, "" return-object v0 .end method .method public needsNewSession()Z .locals 8 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentials:Lcom/amazonaws/auth/AWSSessionCredentials; const/4 v1, 0x1 if-nez v0, :cond_0 return v1 .line 859 :cond_0 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v2 .line 860 invoke-static {}, Lcom/amazonaws/SDKGlobalConfiguration;->getGlobalTimeOffset()J move-result-wide v4 const-wide/16 v6, 0x3e8 mul-long/2addr v4, v6 sub-long/2addr v2, v4 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentialsExpiration:Ljava/util/Date; .line 861 invoke-virtual {v0}, Ljava/util/Date;->getTime()J move-result-wide v4 sub-long/2addr v4, v2 iget v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->refreshThreshold:I mul-int/lit16 v0, v0, 0x3e8 int-to-long v2, v0 cmp-long v0, v4, v2 if-gez v0, :cond_1 goto :goto_0 :cond_1 const/4 v1, 0x0 :goto_0 return v1 .end method .method public final populateCredentialsWithCognito(Ljava/lang/String;)V .locals 5 if-eqz p1, :cond_0 .line 777 invoke-virtual {p1}, Ljava/lang/String;->isEmpty()Z move-result v0 if-nez v0, :cond_0 .line 778 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V .line 779 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getLoginsKey()Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 .line 781 :cond_0 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getLogins()Ljava/util/Map; move-result-object v0 .line 784 :goto_0 new-instance p1, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; invoke-direct {p1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->()V .line 785 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getIdentityId()Ljava/lang/String; move-result-object v1 invoke-virtual {p1, v1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->withIdentityId(Ljava/lang/String;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; move-result-object p1 .line 786 invoke-virtual {p1, v0}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->withLogins(Ljava/util/Map;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; move-result-object p1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->customRoleArn:Ljava/lang/String; invoke-virtual {p1, v0}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->withCustomRoleArn(Ljava/lang/String;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; move-result-object p1 :try_start_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->cib:Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity; .line 791 invoke-interface {v0, p1}, Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity;->getCredentialsForIdentity(Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult; move-result-object p1 :try_end_0 .catch Lcom/amazonaws/AmazonServiceException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_1 :catch_0 move-exception p1 .line 798 invoke-virtual {p1}, Lcom/amazonaws/AmazonServiceException;->getErrorCode()Ljava/lang/String; move-result-object v0 const-string v1, "ValidationException" invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_2 .line 799 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->retryGetCredentialsForIdentity()Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult; move-result-object p1 .line 807 :goto_1 invoke-virtual {p1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult;->getCredentials()Lcom/amazonaws/services/cognitoidentity/model/Credentials; move-result-object v0 .line 808 new-instance v1, Lcom/amazonaws/auth/BasicSessionCredentials; invoke-virtual {v0}, Lcom/amazonaws/services/cognitoidentity/model/Credentials;->getAccessKeyId()Ljava/lang/String; move-result-object v2 .line 809 invoke-virtual {v0}, Lcom/amazonaws/services/cognitoidentity/model/Credentials;->getSecretKey()Ljava/lang/String; move-result-object v3 invoke-virtual {v0}, Lcom/amazonaws/services/cognitoidentity/model/Credentials;->getSessionToken()Ljava/lang/String; move-result-object v4 invoke-direct {v1, v2, v3, v4}, Lcom/amazonaws/auth/BasicSessionCredentials;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V iput-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentials:Lcom/amazonaws/auth/AWSSessionCredentials; .line 810 invoke-virtual {v0}, Lcom/amazonaws/services/cognitoidentity/model/Credentials;->getExpiration()Ljava/util/Date; move-result-object v0 invoke-virtual {p0, v0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->setSessionCredentialsExpiration(Ljava/util/Date;)V .line 812 invoke-virtual {p1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult;->getIdentityId()Ljava/lang/String; move-result-object v0 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getIdentityId()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_1 .line 813 invoke-virtual {p1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult;->getIdentityId()Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->setIdentityId(Ljava/lang/String;)V :cond_1 return-void .line 802 :cond_2 throw p1 .end method .method public final populateCredentialsWithSts(Ljava/lang/String;)V .locals 4 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 825 invoke-interface {v0}, Lcom/amazonaws/auth/AWSCognitoIdentityProvider;->isAuthenticated()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->authRoleArn:Ljava/lang/String; goto :goto_0 :cond_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->unauthRoleArn:Ljava/lang/String; .line 828 :goto_0 new-instance v1, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest; invoke-direct {v1}, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest;->()V .line 829 invoke-virtual {v1, p1}, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest;->withWebIdentityToken(Ljava/lang/String;)Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest; move-result-object p1 .line 830 invoke-virtual {p1, v0}, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest;->withRoleArn(Ljava/lang/String;)Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest; move-result-object p1 const-string v0, "ProviderSession" .line 831 invoke-virtual {p1, v0}, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest;->withRoleSessionName(Ljava/lang/String;)Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest; move-result-object p1 iget v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionDuration:I .line 832 invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v0 invoke-virtual {p1, v0}, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest;->withDurationSeconds(Ljava/lang/Integer;)Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest; move-result-object p1 .line 833 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getUserAgent()Ljava/lang/String; move-result-object v0 invoke-virtual {p0, p1, v0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->appendUserAgent(Lcom/amazonaws/AmazonWebServiceRequest;Ljava/lang/String;)V iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->securityTokenService:Lcom/amazonaws/services/securitytoken/AWSSecurityTokenService; .line 835 invoke-interface {v0, p1}, Lcom/amazonaws/services/securitytoken/AWSSecurityTokenService;->assumeRoleWithWebIdentity(Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityRequest;)Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityResult; move-result-object p1 .line 836 invoke-virtual {p1}, Lcom/amazonaws/services/securitytoken/model/AssumeRoleWithWebIdentityResult;->getCredentials()Lcom/amazonaws/services/securitytoken/model/Credentials; move-result-object p1 .line 838 new-instance v0, Lcom/amazonaws/auth/BasicSessionCredentials; .line 839 invoke-virtual {p1}, Lcom/amazonaws/services/securitytoken/model/Credentials;->getAccessKeyId()Ljava/lang/String; move-result-object v1 .line 840 invoke-virtual {p1}, Lcom/amazonaws/services/securitytoken/model/Credentials;->getSecretAccessKey()Ljava/lang/String; move-result-object v2 .line 841 invoke-virtual {p1}, Lcom/amazonaws/services/securitytoken/model/Credentials;->getSessionToken()Ljava/lang/String; move-result-object v3 invoke-direct {v0, v1, v2, v3}, Lcom/amazonaws/auth/BasicSessionCredentials;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentials:Lcom/amazonaws/auth/AWSSessionCredentials; .line 842 invoke-virtual {p1}, Lcom/amazonaws/services/securitytoken/model/Credentials;->getExpiration()Ljava/util/Date; move-result-object p1 invoke-virtual {p0, p1}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->setSessionCredentialsExpiration(Ljava/util/Date;)V return-void .end method .method public refresh()V .locals 2 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 638 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V .line 640 :try_start_0 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->startSession()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 642 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V return-void :catchall_0 move-exception v0 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v1 invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V .line 643 throw v0 .end method .method public registerIdentityChangedListener(Lcom/amazonaws/auth/IdentityChangedListener;)V .locals 1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 895 invoke-interface {v0, p1}, Lcom/amazonaws/auth/AWSCognitoIdentityProvider;->registerIdentityChangedListener(Lcom/amazonaws/auth/IdentityChangedListener;)V return-void .end method .method public final retryGetCredentialsForIdentity()Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult; .locals 3 .line 750 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->retryRefresh()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; if-eqz v0, :cond_0 .line 753 invoke-virtual {v0}, Ljava/lang/String;->isEmpty()Z move-result v0 if-nez v0, :cond_0 .line 754 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V .line 755 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getLoginsKey()Ljava/lang/String; move-result-object v1 iget-object v2, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_0 .line 757 :cond_0 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getLogins()Ljava/util/Map; move-result-object v0 .line 760 :goto_0 new-instance v1, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; invoke-direct {v1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->()V .line 761 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->getIdentityId()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->withIdentityId(Ljava/lang/String;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; move-result-object v1 .line 762 invoke-virtual {v1, v0}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->withLogins(Ljava/util/Map;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; move-result-object v0 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->customRoleArn:Ljava/lang/String; invoke-virtual {v0, v1}, Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;->withCustomRoleArn(Ljava/lang/String;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest; move-result-object v0 iget-object v1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->cib:Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity; .line 764 invoke-interface {v1, v0}, Lcom/amazonaws/services/cognitoidentity/AmazonCognitoIdentity;->getCredentialsForIdentity(Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityRequest;)Lcom/amazonaws/services/cognitoidentity/model/GetCredentialsForIdentityResult; move-result-object v0 return-object v0 .end method .method public final retryRefresh()Ljava/lang/String; .locals 1 const/4 v0, 0x0 .line 722 invoke-virtual {p0, v0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->setIdentityId(Ljava/lang/String;)V iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 723 invoke-interface {v0}, Lcom/amazonaws/auth/AWSIdentityProvider;->refresh()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; return-object v0 .end method .method public setIdentityId(Ljava/lang/String;)V .locals 1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 565 invoke-interface {v0, p1}, Lcom/amazonaws/auth/AWSCognitoIdentityProvider;->identityChanged(Ljava/lang/String;)V return-void .end method .method public setSessionCredentialsExpiration(Ljava/util/Date;)V .locals 1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 435 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V :try_start_0 iput-object p1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->sessionCredentialsExpiration:Ljava/util/Date; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 iget-object p1, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; .line 439 invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object p1 invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V return-void :catchall_0 move-exception p1 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->credentialsLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock; invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock; move-result-object v0 invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V .line 440 throw p1 .end method .method public startSession()V .locals 3 :try_start_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->identityProvider:Lcom/amazonaws/auth/AWSCognitoIdentityProvider; .line 687 invoke-interface {v0}, Lcom/amazonaws/auth/AWSIdentityProvider;->refresh()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; :try_end_0 .catch Lcom/amazonaws/AmazonServiceException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception v0 .line 694 invoke-virtual {v0}, Lcom/amazonaws/AmazonServiceException;->getErrorCode()Ljava/lang/String; move-result-object v1 const-string v2, "ValidationException" invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_1 .line 695 invoke-virtual {p0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->retryRefresh()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; :goto_0 iget-boolean v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->useEnhancedFlow:Z if-eqz v0, :cond_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; .line 703 invoke-virtual {p0, v0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->populateCredentialsWithCognito(Ljava/lang/String;)V goto :goto_1 :cond_0 iget-object v0, p0, Lcom/amazonaws/auth/CognitoCredentialsProvider;->token:Ljava/lang/String; .line 705 invoke-virtual {p0, v0}, Lcom/amazonaws/auth/CognitoCredentialsProvider;->populateCredentialsWithSts(Ljava/lang/String;)V :goto_1 return-void .line 698 :cond_1 throw v0 .end method