2016-06-10 75 views
0

我使用AWS Cognito來驗證iOS應用程序中的用戶。該應用程序的用戶將不得不輸入電子郵件,電話號碼和他們的名字才能進行註冊,並且Amazon將發送短信以驗證電話號碼。Amazon Cognito數據保存在哪個表中 - 初學者

所有這些工作正常。我有幾個問題,他們是:

1.)我想知道這些數據保存在哪裏?它不在Dynamo DB中(但是,我在AWS Cognito --> Federated Identities --> Users中找到了用戶列表,但沒有在DynamoDB中的表中)

2.)現在,一旦用戶通過身份驗證,我允許用戶與應用程序。第一項任務是用戶將不得不完成他們的個人資料。我想知道,如果用戶未通過身份驗證,他是否能夠完成他的個人資料?理想情況下,他不應該被允許。但是這是自動發生的嗎?

編輯

enter image description here

+0

你指的是你的個人資料嗎?如果沒有,您是否使用用戶池,*不是*聯邦身份? –

+0

沒有它的聯合身份。通過意思簡介我的意思是用戶將要進入數據庫的某些屬性(如個人資料圖片和他的愛好)。 – Illep

+0

我問的原因是,默認情況下,聯邦身份不支持配置文件,僅利用公共提供商(Facebook,Twitter,Google等),您自己的後端或訪客訪​​問權來獲取憑據以訪問AWS資源。聯合身份驗證也不會進行SMS電話號碼驗證。這是你做的一個擴展,還是來自Cognito?如果它來自Cognito,它將是用戶池,這是支持用戶配置文件,電話號碼驗證等的一面。 –

回答

0

1)你是正確的,數據不存儲發電機內爲用戶配置文件。 Cognito有一個內部數據存儲器,用戶數據在其中保存。這可以通過用戶池的「用戶」選項卡查看和編輯(作爲管理員)。

2)他們不應該能夠,也不會自動發生。更新針對用戶存儲的屬性的唯一方法是作爲管理員(用戶不應該這樣做)或者使用他們從登錄時獲得的令牌,所以您要實現的目標是非常有用的。

+0

我需要知道如何讓用戶在與DynamoDB通信之前通過SMS驗證自己(使用amazon cognito)嗎?這是由亞馬遜自動處理? – Illep

+0

如果您希望您的用戶能夠使用任何AWS資源(例如:DDB,S3),則在用戶登錄後,您將需要使用Cognito聯合身份驗證獲取AWS Credentials。這個過程在這裏描述 - http://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-integrating-user-pools-with-identity-pools.html –

+0

爲了闡述Mark的觀點,如果你在您的池配置中需要SMS MFA(從控制檯設置),他們將不會在完成該MFA之前登錄。只有這樣,他們才能獲得可用於更新其屬性或賦予聯合身份以訪問AWS資源的令牌。不過,Cognito用戶池不會在DynamoDB上存儲數據,如果這就是您的意思。 –