Aws лямбда-доступ cognito идентичности (через API-интерфейс шлюза websocket API) в маршруте - PullRequest
0 голосов
/ 13 октября 2019

Я создаю шлюз API веб-сокета, и у меня есть следующие маршруты:

$ connect, который использует авторизацию AWS_IAM (версия подписи 4)

$ disconnect

$ default

sendmessage

Проблема, с которой я столкнулся, заключается в следующем, в лямбда-соединении RequestContext.Identity имеют все допустимые свойства (поля, такие как идентификатор идентификации Cognito), но когда я вызываю sendmessage через websocketзаполнены только RequestContext.Identity.SourceIp и RequestContext.Identity.UserAgent, есть ли способ получить CognitoIdentityId в маршруте sendmessage?

$ connect RequestContext.Identity равен

"CognitoIdentityPoolId": "eu-central-1:a520283f-1353-43d7-b441-b0fc5152b027",
"AccountId": "396151468972",
"CognitoIdentityId": "eu-central-1:1a9421b5-3361-4da9-8adf-22cf5d92eeb9",
"Caller": "AROAVYPDXWOWIJFD6FIYE:CognitoIdentityCredentials",
"ApiKey": null,
"SourceIp": "1.15.1.22",//modified
"CognitoAuthenticationType": "authenticated",
"CognitoAuthenticationProvider": "cognito-idp.eu-central-1.amazonaws.com/eu-central-1_gPSLBBoLn,cognito-idp.eu-central-1.amazonaws.com/eu-central-1_gPSLBBoLn:CognitoSignIn:7812ef00-44cd-4c3c-a8f7-df2434441e67",
"UserArn": "arn:aws:sts::396151468972:assumed-role/Cognito_NanoVoltsAuth_Role/CognitoIdentityCredentials",
"UserAgent": "BestHTTP 1.12.3",
"User": "AROAVYPDXWOWIJFD6FIYE:CognitoIdentityCredentials"

sendmessageRequestContext.Identity

"CognitoIdentityPoolId": null,
"AccountId": null,
"CognitoIdentityId": null,
"Caller": null,
"ApiKey": null,
"SourceIp": "1.15.1.22",//modified
"CognitoAuthenticationType": null,
"CognitoAuthenticationProvider": null,
"UserArn": null,
"UserAgent": "BestHTTP 1.12.3",
"User": null
...