0
我的應用使用AWS Cognito存儲用戶首選項。正在擦除cognitoSync數據
用戶通過身份驗證並存儲他們的首選項。 當用戶註銷時,他們的Cognito數據集出現在AWS服務器上
但是,當他們重新登錄到所有數據集時,應用程序第一次同步時會擦除這些字段。
當dataset.synchronize()
返回時,AWS服務器上的數據已被刪除。我做了什麼錯誤的步驟?
var cognitoDS:AWSCognitoDataset?
…
func getCognitoDataset() -> AWSCognitoDataset? {
if cognitoDS == nil {
if let cognitoSync = AWSCognito.defaultCognito() {
if let cognitoDS = cognitoSync.openOrCreateDataset(Constants.CognitoUserDataset) {
self.cognitoDS = cognitoDS
} else {
print("openOrCreateDataset() returned nil")
}
} else {
print("cognitoSync not found")
}
}
return cognitoDS
}
func synchronizeCognitoDS() -> AWSTask {
if let dataset = getCognitoDataset() {
return dataset.synchronize().continueWithBlock { task in
if let error = task.error {
NSLog("Error in sync: %@", error.localizedDescription)
return task
}
if task.completed {
NSLog("Sync successful")
}
return task
}
}
return AWSTask(error:NSError(domain:"Juno", code:3030, userInfo:nil))
}
我所有的用戶都通過了身份驗證。沒有未經驗證的選項。我用auth0作爲我的Cognito「包裝器」,並調用A0Lock.clearSessions()來註銷。在此「登出」步驟後,數據仍存在於我的AWS服務器上。當用戶下次登錄時,它將被刪除。 – Carl
而且您100%確定註銷和登錄時身份標識相同?你能證實嗎? –
100%肯定。我在AWS上有一個應用程序實例,只有一個Cognito Identity Id,因此可以很容易地發現此區域中的任何異常情況。 – Carl