Можно ли определить, когда был изменен пароль на устройстве iOS? - PullRequest
0 голосов
/ 27 февраля 2020

Например: у меня есть приложение, которое использует FaceID для входа в систему и пароль: «1111». когда я изменяю свой пароль на «2222» и перезапускаю приложение, оно обнаруживает, что мой пароль изменен, и автоматически выходит из приложения.

Так возможно ли это сделать?

1 Ответ

0 голосов
/ 27 февраля 2020

Я думаю, что вы можете иметь эту информацию с managedPolicyDomainState

. Она может использоваться для сравнения с другими значениями, возвращаемыми этим свойством, чтобы определить, была ли обновлена ​​авторизованная база данных

Пример кода:

Swift

let localAuthContext = LAContext()
if localAuthContext.canEvaluatePolicy(LAPolicyDeviceOwnerAuthenticationWithBiometrics, error: error) {
    if oldBiometryData != nil && localAuthContext.evaluatedPolicyDomainState != oldBiometryData {
         changed = true
    }
}

Объектив- C

LAContext *localAuthenticationContext = [LAContext new];
if ([localAuthenticationContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
    if (oldBiometryData != nil && ![localAuthenticationContext.evaluatedPolicyDomainState isEqualToData:oldBiometryData]) {
        changed = YES;
    }
}

С oldBiometryData предыдущими биометрическими данными, которые вы храните в своем приложении.

...