私はこの問題のロープの最後です。私はFirebaseからFacebookにログインしたユーザーを認証しようとしていたので、S3バケットへの画像のアップロードを許可することができます。私は、などのドキュメント、サンプルコード、ブログエントリ、上に注ぎました。しかし、私は、次のエラーを取得しておいてください。AWS Cognitoは連合IDを使用して認証していません
Error: Not authorized to perform sts:AssumeRoleWithWebIdentity
これは私がいない成功を収め、その後のドキュメントです: External Identity Providers » Facebook
私もしましたこのブログのエントリを読んで数回Understanding Amazon Cognito Authenticationと、この引用は何が起こっているかのように見える:
If you see this, double check that you are using an appropriate role for your identity pool and authentication type.
私はそれを言っているか理解が、私は解決策を見つけることができません。私はユーザーを保存したくない、私はちょうど認証し、一時的な資格情報を取得したい。ここに私のコード、役割、およびポリシーファイルがあります。
はJavaScript
AWS.config.update({
region: bucketRegion,
credentials: new AWS.CognitoIdentityCredentials({
IdentityPoolId: IdentityPoolId,
Logins: {
'graph.facebook.com': 'my-valid-auth-token-from-fb-after-login'
}
})
});
AWS.config.credentials.get(function(err) {
// error here
}
認証IAMロールポリシー - インラインIAMロールポリシーについて
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "myuserBucketActions",
"Action": [
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::bucket-name"
},
{
"Sid": "myuserListBucket",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::bucket-name",
"Condition": {
"StringLike": {
"s3:prefix": "folder-in-bucket/*"
}
}
},
{
"Sid": "myuserObjectActions",
"Action": [
"s3:AbortMultipartUpload",
"s3:GetObject",
"s3:PutObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::bucket-name/folder-in-bucket/*"
}
]
}
信頼関係
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Federated": "graph.facebook.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"graph.facebook.com:appId": "FACEBOOK_APP_ID"
}
}
}
]
}
私は、自分のプール内の信頼関係と認証プロバイダに適切なFB App IDを持っています。私はまた、私のプールでAuthenticated roleの下で上記の認証ロールを選択しました。私も認証されていないアイデンティティを許可していません。
私は正直に何がうまくいかないのか分かりません。この時点で、私は壁にスパゲッティを投げて、何がついているのかを見ています。
クイックサイドの質問:これを動作させて認証されていないユーザーと一緒に行くことができない場合は、認証済みに切り替えると、潜在的な影響がありますか?
ご協力いただきありがとうございます!