aws lambda(environment nodejs6.10)に問題があり、カスタムプロバイダとしてユーザーを登録しようとしました。 これはparamsはと私は、私のバックエンドでgetOpenIdTokenForDeveloperIdentityを呼んでいる:Aws CognitoがgetOpenIdTokenForDeveloperIdentity()でUnknownErrorが見つかりませんでしたフェデレーションIDの回答
const params = {
IdentityPoolId: config.IDENTITY_POOL_ID,
Logins: {
[config.DEVELOPER_PROVIDER_NAME]: id
}
}
コールを担当するコードは単純です:
const cognitoidentity = new AWS.CognitoIdentity({apiVersion: '2014-06-30'})
return cognitoidentity.getOpenIdTokenForDeveloperIdentity(params).promise()
.then(...)
残念ながらCognitoからの答えは、このエラーである:
{
"message": "Not Found",
"code": "UnknownError",
"statusCode": 404,
"time": "2017-09-13T16:50:12.832Z",
"requestId": "4RQE2T66K7LOT3RBGOMN0JO82NVV4KQNSO5AEMVJF66Q9ASUAAJG",
"retryable": false,
"retryDelay": 58.96973108302359
}
2年前とほぼ同じコードでこれを行いましたが、まだ動作していますが、このプロジェクトではそうではありません。私は認証されていないユーザーのための少しのWebクライアントを作ったし、それはCognitoとうまくいっているので、私はCognitoが正しく設定されていると仮定します。地域はコグニトとラムダ、us-east-1と同じです。役割とポリシーは正しいようだが、ラムダはCognito IDですべてのことを行う許可を得ている。私は今何をすべきか分かりませんが、解決できない場合はコグニートを離れることを考えています。助けてください。
その他の関連情報: 私はServerlessフレームワークを使用していますが、Cognito IDプールは手動で作成されました(ロールでも同じです)。解決
[
"cognito-identity:DeleteIdentities",
"cognito-identity:DescribeIdentity",
"cognito-identity:GetOpenIdTokenForDeveloperIdentity",
"cognito-identity:ListIdentities",
"cognito-identity:LookupDeveloperIdentity",
"cognito-identity:MergeDeveloperIdentities",
"cognito-identity:UnlinkDeveloperIdentity"
]
コードの初期化
const AWS = require('aws-sdk')
AWS.config.update({
region: config.REGION
})
AWS.config.setPromisesDependency(require('bluebird'))