Меня это тоже беспокоило, пока я не понял, что меня запутала разница между входом в систему и авторизацией, выходом из системы и отзывом доступа.
Во-первых, давайте не будем увлекаться название кнопки. Вы можете называть это Выход , но на самом деле вы хотите, чтобы пользователи отозвали доступ к своей учетной записи Google, а затем авторизовались и предоставили доступ другой учетной записи.
Если вы используете removeCacheAuthToken
, затем снова авторизуетесь и не видите всплывающего окна, это означает, что расширение все еще имеет доступ к определенным API. Чтобы проверить, каким приложениям был предоставлен доступ к каким сервисам Google, от go до настройки разрешений и посмотрите.
Есть несколько способов отозвать доступ:
- Go на
chrome://identity-internals/
и удалите нужные токены. Затем нажмите кнопку «Авторизовать», и вы должны увидеть всплывающее окно с выбором учетных записей Google для предоставления доступа.
Конечно, этот метод предназначен только для тестирования. Ваши конечные пользователи не увидят токен доступа для вашего расширения, если они посетят эту страницу.
Когда пользователь нажимает кнопку Отменить доступ или любое другое имя, которое вы называете, отобразить всплывающее окно, которое сообщает ему go на страницу настроек разрешений , чтобы вручную отменить доступ.
Создайте форму на текущей веб-странице, добавьте токен доступа в форму и отправьте в конечную точку https://oauth2.googleapis.com/revoke
.
По моему опыту, метод 3 кажется идеальным решением, но для меня он оказался хитом. Иногда я получаю ошибку неверного или просроченного токена, и устранять ее не стоит. Я бы предпочел метод для душевного спокойствия.