Мы выполнили интеграцию AWS для доступа без аутентификации, но когда мы пытаемся пройти аутентифицированный доступ, мы получаем ошибку InvalidParameterException: Пожалуйста, предоставьте действительный открытый провайдер.Как интегрировать AWS Cognito только для разработчиков, прошедших проверку подлинности?
мы используем следующие шаги для интеграции AWS в приложение:
DeveloperAuthenticationProvider developerProvider = new DeveloperAuthenticationProvider(
AppConstants.AWS_ACCOUNT_ID, AppConstants.IdentityPoolId, Regions.EU_WEST_1
);
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getActivity(),
developerProvider,
Regions.EU_WEST_1);
//set Logings for Authenticated Access
HashMap<String, String> loginsMap = new HashMap<String, String>();
loginsMap.put(developerProvider.getProviderName(), Token);
credentialsProvider.setLogins(loginsMap);
credentialsProvider.refresh();
Мы сделали с классом DeveloperAuthenticationProvider, который простирается AWSAbstractCognitoDeveloperIdentityProvider; где мы предоставляем имя поставщика разработчика (DeveloperProvider.getProviderName()), а токен - как токен OpenID.
Но я получаю ниже ошибки:
Caused by: com.amazonaws.services.cognitoidentity.model.InvalidParameterException: Please provide a valid public provider
и иногда я получаю ошибки: идентичности ID запрещено. Я не мог понять причины этих ошибок. Я указал следующие URL: https://docs.aws.amazon.com/cognito/devguide/identity/developer-authenticated-identities/, https://mobile.awsblog.com/post/Tx3E3NJURV1LNV1/Integrating-Amazon-Cognito-using-developer-authenticated-identities-An-end-to-en.
Просьба предложить мне, как я могу устранить эти ошибки и дать некоторые обновленные ссылки, где я могу понять причины этих ошибок.
Не могли бы вы поделиться кодом в своем поставщике-разработчиком, где вы назначаете токен? Из ошибки, которую вы описываете, кажется, что вы назначаете ее карте входа, а не полю токена. –