2017-11-07 10 views
0

エラー: com.amazonaws.services.cognitoidentity.model.NotAuthorizedException:このIDプールでは、認証されていないアクセスはサポートされていません。 (サービス:AmazonCognitoIdentity;ステータスコード:400;エラーコード:NotAuthorizedException;このIDプールで認証されていないアクセスはサポートされていません

ここに私を助けてください を非認証サインインのプロセスが成功したと私はアマゾンのlexチャットボットウィンドウを入力したとき、私は上記のエラーを取得します。これは実際には意味があります。なぜなら、私のボットへの認証されていないアクセスがチェックされていないからです。認証がなければ、ユーザーはLex ChatBotとやりとりすることはできません。

私の質問は、サインインしているユーザーセッションを維持する必要がありますか?はい、どうすればいいですか。

または

ログインをCognito認証IDにリンクするにはどうすればよいですか。

+0

はい、セッションを維持する必要はありません。これは、IDプールのログインマップに有効なIDトークンを設定することによって行われます。 – agent420

+0

@ agent420このIDを設定する方法と場所を教えてください。私はこのコンセプトに慣れていません。私を助けてください。 – Raghav

答えて

2

アイデンティティプールに認証されていないアクセスが無効になっていて、アプリケーションのログインマップにIDトークンが見つからない場合、このエラーが発生します。たとえば、Androidアプリケーションでは、CognitoCachingCredentialsProviderを初期化した後、setLogins()メソッドを呼び出してログインマップを提供する必要があります。

上記の例では、「Amazonでログイン」が使用されていると仮定しました。プロバイダが異なる場合は、適切なトークンを使用してキー「www.amazon.com」を変更します。鍵を知るには、idトークンをhttps://jwt.ioでデコードし、issの主張を探してください。 https://のない値は、ログインマップのキーになります。

このコードをどこに置くかについては、どこにでもCognitoCachingCredentialsProviderオブジェクトを使用しているかどうかを確認し、ログインマップを追加してください。資格情報を強制的にリフレッシュするには、refresh()メソッドを呼び出す

+0

ありがとうございます。あなたは私に多くの時間を救った。 – Raghav

+0

あなたは大歓迎です:) – agent420

+0

もうちょっと教えてください。なぜCognitoCredentialsProviderだけでなくCognitoCachingCredentialsProviderを使用するのですか? – Raghav

関連する問題