簡體   English   中英

如何避免在Cognito Federated Identities中創建未使用的身份

[英]How to avoid creating unused identities in Cognito Federated Identities

每次運行aws時:aws-sdk-ios-samples / CognitoSync-Sample都會為我的設備生成一個新的唯一IdentityId。 如果我關閉應用程序並重新啟動它,它將獲得相同的IdentityId(來自鑰匙串)。 但是,如果我使用谷歌登錄,並注銷它會執行AWSCognito.defaultCognito()。擦除() - 並且擦除功能會清除鑰匙串。

然后,如果我重新啟動應用程序,我會得到一個新的唯一IdentityId。

我第一次使用google或facebook身份登錄時,會使用新創建的IdentityId作為經過身份驗證的IdentityId。 但是在第一次登錄后,每當我啟動應用程序時,我都會獲得一個新ID,然后當我登錄並獲得(現在是永久性的)facebook或google id時,它會被丟棄。

我是否應該編寫一些“身份識別清理”功能來清除所有這些舊ID? 我該如何限制Ids的數量? (每當用戶啟動我的應用程序並登錄時,他將丟棄一個新的未經身份驗證的ID ...永遠漂浮在Cognito Land中)。

我在AWSCognitoService.m中編輯了AWSCognito.defaultCognito()。wipe()方法並刪除了明確的鑰匙串,但這沒有幫助,因為注銷后的鑰匙串包含來自google登錄的經過身份驗證的identityId。

我認為Unauthenticated用戶並沒有經過深思熟慮。 就在使用3 Id進行測試期間,我每天生成大約十二個id,它們在身份池中被標記為禁用。

我該如何清理它們? 或者我該如何停止生產?

或者我應該記住我自己未經驗證的ID,並嘗試以某種方式與它們重新連接(如果是這樣的話?)

您似乎不希望在應用中支持“訪客用戶”或“未經身份驗證的用戶”用例。 如果這是正確的,您可以為您的身份池禁用“未經身份驗證的身份支持”。 在這種情況下聯合之前,您的用戶將始終必須使用某些提供程序登錄,並且不會生成不需要的未經身份驗證的身份。

如果您確實希望在設備上支持未經身份驗證的身份,則不應從設備存儲中擦除數據。 如果您不擦除,SDK將確保它使用緩存的身份標識,並且不會生成新標識。 與經過身份驗證的身份不同,未經身份驗證的身份僅在您知道身份ID時才可訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM