2016-05-10 88 views
1

我一直在玩弄新的Cognito用戶池來管理用戶帳戶,我試圖建立一個系統,用戶必須登錄才能使用系統,新用戶可以只能由現有用戶添加(即沒有公開註冊)。阻止未經身份驗證的Cognito身份用戶池註冊

目前似乎沒有辦法阻止未經身份驗證的用戶調用signUp。我已經改變了它,以便池不允許未經身份驗證的用戶,但這似乎沒有任何區別(因爲將accessKeyId和secretAccessKey設置爲任何值都會使其運行)。

我錯過了什麼嗎?

回答

1

經過很長時間,AWS團隊已經解決了這個問題。他們現在增加了一個選項允許用戶註冊?將其設置爲:只有管理員可以創建用戶意味着沒有人可以註冊到用戶池。

爲了現在添加用戶,您需要使用aws cognito sdk和以'admin'開頭的各種功能(例如adminAddUser)。

2

首先,我認爲你在Identity PoolUser Pool之間感到困惑。 Cognito用戶池不具有允許或不允許「未經身份驗證」訪問的概念,身份池不會。

現在要回答您的實際問題,Cognito用戶池是一個身份驗證提供程序,隱含意味着註冊過程必須未經身份驗證。無法驗證註冊電話。

雖然如果您的用例是構建某種基於邀請的註冊過程,您可以在用戶池中使用Lambda trigger功能並驗證PreSignUp觸發器中的每個註冊呼叫。此驗證可以檢查驗證地圖中是否存在有效的邀請代碼,並僅在該情況下才接受呼叫。

+0

是的,我肯定會讓用戶和身份池混淆。這聽起來像我不能真正做我想要的東西,那就是驗證用戶呼叫註冊已經是註冊用戶(並正在註冊其他人)。 – smuff

+0

不幸的是,這不是一個受支持的用例。 –

相關問題