Переустановка, которая всё помнила: чистим кеш входа Microsoft в Keychain на macOS
Мне нужно было, чтобы Mac забыл старую учётную запись Microsoft 365. Я сделал очевидное: всё удалил и переустановил — а старая личность возвращалась каждый раз. Переустановка не трогает Keychain, где библиотеки входа Microsoft кешируют вашу учётку, так что «свежая» установка совсем не свежая. Вот три записи в связке login, которые наконец её очистили: OneAuthAccount, login.windows.net, authority_map.
Иные программы забывают вас в ту же секунду, когда вы тащите их в корзину. Программы Microsoft — нет.
Я понял это долгим путём. У меня был Mac, которому нужна была по-настоящему чистая доска: приложения Microsoft 365 разлогинены, забыты, стёрты — так, чтобы следующий вход начинался с нуля. Очевидный ход — всё удалить и переустановить, так я и сделал: вытащил приложения, вымел остатки из ~/Library, скачал свежие установщики, начал заново.
И старая учётная запись по-прежнему была на месте. Не приложения — те были новые. Сама личность. Открыв Word в первый раз, я не услышал вопроса, кто я; он уже знал — и знал неверно: та самая устаревшая учётка, которую я весь день пытался стереть, приветствовала меня по имени из чистой установки. Тогда я удалил всё снова. Переустановил снова. В какой-то момент даже перезагрузился — так делаешь, когда уже перестал думать. Призрак возвращался каждый раз.
Чего я не заметил — так это того, что та часть Microsoft, которую и нужно удалить, лежит не в папке «Программы» и не в ~/Library. Она в Keychain — «Связке ключей». Библиотеки входа Microsoft кешируют вашу учётную запись — токены, личность, арендатора (tenant), которому она отвечает, — как записи Keychain, а Keychain — это ровно то, чего переустановка по замыслу трогать не должна. В этом весь его смысл: он переживает приложения. Так что можете переустанавливать Office, пока диск не износится, — он будет находить ту же закешированную учётку, ждущую его, каждый раз.
Три записи, которые и решают дело
Сначала закройте все приложения Microsoft — Word, Outlook, Teams, OneDrive, всё подряд. То, что осталось запущенным, держит эти токены открытыми и впишет их обратно прямо у вас из-под рук, пока вы их удаляете, — и удаление не закрепится.
Потом откройте Keychain Access («Связка ключей», в /Applications/Utilities, или просто вызовите через Spotlight). Слева выберите связку login — вашу пользовательскую, не System — и включите View → Show Invisible Items («Показать скрытые объекты»), потому что некоторые из этих записей иначе не появятся. Теперь по очереди вбейте в поиск каждое из имён и удалите все совпадения (правый клик → «Удалить»):
OneAuthAccount— OneAuth это современный общий брокер входа Microsoft, тот самый, из которого все приложения Office теперь читают вашу учётку. Это главная запись: сама закешированная учётная запись.login.windows.net— записи токенов Azure AD / Entra ID для рабочей или учебной учётной записи. Здесь, за этим именем, живут refresh-токены, которые позволяют «свежей» установке тихо проскочить экран входа.authority_map— закешированная карта того, какому authority, какому арендатору отвечает ваша учётка. Устаревшая продолжает указывать переустановке на старое место.
Запустите приложение заново — и на этот раз экран входа пуст. Ему больше нечего вспоминать.
Ничего разрушительного в этом нет. Это кеши: удалите их — и следующий чистый вход запишет на их место свежие. Знать стоит одно: они общие — очистка разлогинит вас из всех учётных записей Microsoft сразу во всём Office, Teams и OneDrive, а не только из той, за которой вы гонитесь. Для настоящего чистого старта это ровно то, что нужно.
Если кликать неохота
Те же три — из терминала:
for item in OneAuthAccount login.windows.net authority_map; do
while security delete-generic-password -s "$item" >/dev/null 2>&1 \
|| security delete-internet-password -s "$item" >/dev/null 2>&1; do
echo "deleted $item"
done
done
security удаляет по одному совпадению за вызов — а приходят они и как generic-, и как internet-пароли, — так что каждый внутренний цикл крутится, пока оба вида не перестанут находиться. Приложения Microsoft здесь тоже закройте сначала.
Зачистка пошире
Эти три — то, что починило дело у меня, и я бы начинал с них. Если упрямая установка всё ещё вас узнаёт, в той же связке login сидит более широкое семейство кеш-записей Microsoft. Быстрее всего — поискать Microsoft, Office и ADAL и вычистить, что найдётся, но поимённо обычные подозреваемые такие:
com.microsoft.oneauthиcom.microsoft.identity.universalstorage— хранилища токенов OneAuth / MSALcom.microsoft.adalcache— старый кеш токенов ADALMicrosoft Office Identities Cache 3иMicrosoft Office Identities Settings 3MicrosoftOfficeRMSCredential— учётные данные Rights Management- всё, что начинается с
MSOpenTech.ADAL
Правило всюду одно: это кеши, удаление лишь заставляет пройти чистую переаутентификацию, и приложения при этом должны быть закрыты. (Одно исключение, которое стоит знать: если Mac управляется работодателем через MDM, расширение единого входа может тихо перерегистрировать учётку само, и одной связки ключей не хватит.)
Чистый лист, который приходится навести самому
Меня подкосило не то, что починка трудная, — это две минуты, когда знаешь, куда смотреть. А то, что переустановка ощущалась как нечто, чего должно хватить, — тогда как всё устройство Keychain ровно в том и состоит, чтобы её не хватило. То, что я пытался заставить машину забыть, бережно хранилось для меня, намеренно, в единственном месте, куда я и не подумал бы заглянуть. Установка не стала бы чистой, пока я сам не пошёл и не забыл это.
Понравилось? Не пропустите следующее.
Новые эссе — вам на почту. Двойное подтверждение, отписка в любой момент, без пикселей слежки.