私は私のJavaのバックエンドからユーザー名とパスワードを使用して、私のアマゾンのcognitoユーザプールのユーザを登録しようが、私は常にエラーを取得:AWS Cognito:秘密のJava SDK(Androidのではない)とのハッシュとADMIN_NO_SRP_AUTHフロー
Unable to verify secret hash for client
ドキュメントには私はどのように登録要求でclientSecretを渡すための情報が見つかりませんでした。私はclientSecretなしで(バックエンド)アプリケーションを作成したくありません。
私のコードは、あなたがSignUp APIを使用する必要があるユーザーを登録するには、この
identityProvider = AWSCognitoIdentityProviderClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCreds)).withRegion(Regions.EU_CENTRAL_1).build();
Map<String, String> authParameters = new HashMap<>();
authParameters.put("USERNAME", "username");
authParameters.put("PASSWORD", "password");
authParameters.put("SECRET_HASH", "secret copy and paste from the aws console"); // i read in a forum post, that this should work
AdminInitiateAuthRequest authRequest = new AdminInitiateAuthRequest();
authRequest.withAuthFlow(AuthFlowType.ADMIN_NO_SRP_AUTH);
authRequest.setAuthParameters(authParameters);
authRequest.setClientId("clientId");
authRequest.setUserPoolId("userPoolId");
AdminInitiateAuthResult authResponse = identityProvider.adminInitiateAuth(authRequest);
おかげ マルセル
cognitoが使用されていることが分かりべきではありません、私はAPIとクライアント/顧客を提供します。おそらく後で、私は自分の "ユーザー管理"または別のプロバイダに変更します。お客様のAPIを変更することはできません。 –
意味があります。ちなみに、私たちはあなたが自分のユーザー管理に変更する必要がないように、私たちが提供できる機能を聞いてみたいと思っています:) –
正直言って:Cognitoユーザープールの概念に関するより良い文書と例連合は良い出発点です。アカウント間のリンクは十分に文書化されていません。私の側からの小さなケース。 Facebookにログインしたユーザー - フェデレーションされたIDが作成されます。その後、私は自分のユーザープール(この前に、私は自分自身でFacebookからのメールを把握する必要がある)でこのユーザーがいるかどうかを確認する必要があります。そうでない場合は、このユーザーを作成し、このプールユーザーアカウントをフェデレーションアカウントにリンクする必要があります。私はそれを管理しましたが、それは正しい流れを見つけ出すための長い道でした。 –