我正在使用「Cognito用戶池授權人」(沒有「AWS_IAM」選項,沒有自定義編碼的授權人)通過API網關將HTTPS作爲HTTPS調用Lambda方法。爲什麼在Lambda中未收到Cognito自定義屬性
在Lambda上,我通過adminUpdateUserAttributes
在某些情況下設置了自定義用戶屬性custom:partnerId
。
我可以驗證它是否已通過Cognito用戶池AWS控制檯正確設置。
在iOS客戶端,我也可以成功地得到所有用戶屬性(包括自定義的)作爲How to get Cognito user pool "sub" attribute on iOS
的問題,我的答案描述是這樣的:
我沒有收到這個自定義在LAMBDA屬性爲 event.requestContext.authorizer.claims['custom:partnerId']
下一個API請求
直到我強制用戶登錄,再次明確(含用戶名/密碼)的iOS客戶端。
在完成這個明確的登錄後,我會收到包含在authorizer.claims
參數中的自定義屬性。
我不知道這是否是API網關問題(因爲我認爲它是通過HTTP「Authorization」頭獲取Cognito用戶),iOS Cognito SDK的問題或Lambda本身的問題。
API網關只是從Cognito獲取上下文變量。由於自定義屬性是當用戶再次登錄時出現的,我認爲這與Cognito有關。 Cognito有人應該能夠回答。 – Balaji