Использование Gmail API в Chrome расширении без Identity API? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть расширение Chrome, которое использует Gmail REST API для отправки электронных писем от имени пользователя. Для этого API требуется токен Oauth2, который я получаю с помощью chrome.identity.getAuthToken.

Проблема

Однако у меня возникают некоторые проблемы с Chrome Identity API. В частности, если пользователь аутентифицируется с помощью chrome.identity с другой учетной записью Gmail, а не с той, с которой он вошел в Chrome, то ему предлагается повторный вход каждый час или около того (что не происходит, если учетные записи такие же). Кроме того, я хотел бы свести к минимуму количество разрешений, запрашиваемых моим расширением в качестве общего принципа (разрешения иногда приводят к появлению предупреждающих сообщений при установке и могут привести к отключению существующих пользователей при обновлении), поэтому мне не нужно запрашивать разрешение «удостоверение личности», если я могу этого избежать.

Мой вопрос

Как я могу аутентифицировать Gmail API в Chrome Расширениях без использования Identity API?

Текущий прогресс

Сначала я пытался использовать Javascript Клиент Google для аутентификации, но, похоже, несовместим с Chrome расширениями. После поиска других проблем SO и некоторых материалов Google кажется, что Identity API действительно является рекомендуемым решением для аутентификации в Chrome Extensions. Тем не менее, по причинам UX, упомянутым выше, я нахожу это решение проблематичным c. И я думаю, что альтернатива должна быть возможной - например, расширение MixMax Chrome, использующее API Gmail, не запрашивает разрешение Identity.

Любая помощь будет принята с благодарностью! Спасибо!

...