0

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')) 

答えて

0

ラムダは、権限を許可問題は、私のDynamoDBのデータ層によってロードされたAWSの設定で間違ったエンドポイント、によるものであった

関連する問題