Я работаю над приложением, которое позволяет пользователям входить в систему, используя свою учетную запись Google, а затем использовать этот логин для получения федеративного удостоверения Cognito.
Я не могу получить правильный токен, необходимый для аутентификации в Cognito. Я продолжаю получать ошибку com.amazonaws.services.cognitoidentity.model.NotAuthorizedException: Invalid login token. Not a valid OpenId Connect identity token.
Вот мой код:
Runnable runnable = new Runnable() {
@Override
public void run() {
CognitoSyncClientManager.init(getActivity().getApplicationContext());
String token = null;
try {
token = GoogleAuthUtil.getToken(getActivity().getApplicationContext(), signInAccount.getAccount(), "oauth2:openid");
}catch (Exception e){
Log.d("login exception", e.toString());
}
Map<String, String> logins = new HashMap<String, String>();
logins.put("accounts.google.com", token);
CognitoSyncClientManager.addLogins("accounts.google.com", token);
Log.d("login", "Created User token " + token);
Log.d("login", "Cached UserID: "+CognitoSyncClientManager.credentialsProvider.getCachedIdentityId());
Log.d("login", "UserID: " + CognitoSyncClientManager.credentialsProvider.getIdentityId());
Toast.makeText(getActivity().getApplicationContext(), "Created user: "+CognitoSyncClientManager.credentialsProvider.getCachedIdentityId(), Toast.LENGTH_LONG);
}
};
Thread t = new Thread(runnable);
t.start();