调用
时没有问题AWSMobileclient.getInstance().getTokens().getIdToken().getclaim("sub");
立即登录。
AWSMobileclient.getInstance().signIn(username,password....
但是,当我恢复活动(转到另一个应用程序)并再次尝试获取令牌时,出现错误:
D/AWSMobileclient: waitForSignIn: userState:SIGNED_IN
D/AWSMobileclient: Inspecting user state details
D/AWSMobileclient: hasFederatedToken: false provider: cognito-idp.us-east-1.amazonaws.com/us-east-1_.....
D/AWSMobileclient: hasFederatedToken: false provider: cognito-idp.us-east-1.amazonaws.com/us-east-1_
D/CognitoCachingCredentialsProvider: Clearing credentials from SharedPreferences
D/CognitoCachingCredentialsProvider: Clearing credentials from SharedPreferences
W/AWSMobileclient: Failed to federate the tokens
android.os.NetworkOnmainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1450)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:102)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90)
at java.net.Inetaddress.getallByName(Inetaddress.java:787)
at com.android.okhttp.Dns$1.lookup(Dns.java:39)
不知道为什么。这是我当前的awsconfiguration:
{
"IdentityManager": {
"Default": {}
},"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "us-east-1:088e7bc3...","Region": "us-east-1"
}
}
},"CognitoUserPool": {
"Default": {
"PoolId": "us-east-1_....","AppClientId": "50e3s5e....","AppClientSecret": "1mbug...","Region": "us-east-1"
}
}
}