我有一個Cognito用戶羣與用戶。
此用戶池是聯合身份驗證池中的身份驗證提供程序。
我有一個S3桶,用戶通過策略限於上傳到私人路徑上的驗證作用如下:
阿爾恩:AWS:S3 ::: BUCKET_NAME/$ {cognito身份.amazonaws.com:sub}/*
用戶通過aws javascript sdk直接從網絡瀏覽器上傳。
現在這項工作很好,我的用戶僅限於他們上傳的地方。這些文件上傳他們結束了在桶的路徑看起來像這樣:
美國東1:0f26319c-1233-4c71-afb6-fac96a798ffb/random_file_name.txt
然後我有一個每當添加文件時從此S3存儲桶觸發的lambda。爲了澄清,用戶不會調用拉姆達
問題:
我想訪問從LAMDA用戶池的用戶的屬性。我認爲我可以使用cognito-identity子進行查找。但是,我似乎無法找到使用SDK API的方式來允許這樣做。
使用此API: http://boto3.readthedocs.io/en/latest/reference/services/cognito-identity.html#CognitoIdentity.Client.describe_identity 我能夠獲得登錄/用戶池,但不是與此標識ID關聯的用戶名。
如果我的用戶名,然後我可以使用API:http://boto3.readthedocs.io/en/latest/reference/services/cognito-idp.html?highlight=cognito#CognitoIdentityProvider.Client.admin_get_user
任何想法如何,我可以使用聯合身份ID來查找用戶的屬性?
是用戶名可用於瀏覽器中的代碼? – talentedmrjones
@talentedmrjones它是。但是,如果我使用用戶屬性來跟蹤用戶存儲配額。這意味着任何用戶都可以發送他想要的任何用戶名。由於用戶名通常是電子郵件,因此假裝成其他人相對容易。 – bleuf1shi