Автоматический вход в AWS Cognito даже после удаления и переустановки приложения

Недавно я создал проект концентратора AWS Mobile с пулами пользователей Cognito. Когда я вошел в систему, он запоминает вошедшего в систему пользователя, как только я удаляю приложение (без выхода из системы) и переустанавливаю приложение, он автоматически входит в предыдущую учетную запись, как предотвратить эта проблема?

P.S. Я использую последнюю версию SDK AWS Mobile Hub для iOS.


person Poorna    schedule 15.02.2018    source источник


Ответы (1)


Это происходит из-за того, что платформа Cognito хранит информацию для входа в цепочку ключей, которая сохраняется даже после удаления приложения. Один из способов исправить это — проверить, является ли приложение новой установкой при запуске приложения, и выйти из системы текущего пользователя, если он вошел в систему.

Чтобы проверить наличие свежих установок и обновлений в моих приложениях, я обычно сохраняю номер сборки в UserDefaults и проверяю, является ли он nil или изменился при запуске приложения:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    let previousBuild = UserDefaults.standard.string(forKey: "build")
    let currentBuild = Bundle.main.infoDictionary!["CFBundleVersion"] as! String
    if previousBuild == nil {
        //fresh install
        //logout of current user
    } else if previousBuild != currentBuild {
        //application updated
    }
    UserDefaults.standard.set(currentBuild, forKey: "build")

    return true
}
person Jake    schedule 22.08.2018