Лучший способ подключить учетные записи пользователей Gmail к моей системе, не вызывая зловещие предупреждения? - PullRequest
0 голосов
/ 03 ноября 2019

Я создаю прототип автоматизированной системы обмена сообщениями с несколькими пилотными компаниями и примерно с 10 пользователями. Они хотят, чтобы моя система отправляла электронные письма о статусе от их имени со своих учетных записей Gmail. Это может быть легко достигнуто, когда они вводят свой gmail usn / pwd в мою систему (это 256-битное шифрование AES перед сохранением в БД). Проблема заключается в том, что в первый раз, когда моя система пытается отправить электронное сообщение о состоянии от своего имени, используя свою учетную запись, сообщение блокируется до тех пор, пока не будет включена опция «Разрешить менее безопасные приложения». Когда они пытаются снова, он снова блокируется, а Google отправляет им страшные предупреждения о том, что у кого-то есть пароль Google. Только после того, как они пройдут через это и подтвердят, что моя система имеет разрешение на это, все хорошо, больше нет предупреждений, и все работает.

Я исследовал это и нашел 2 возможных подхода к сглаживанию этого. обрабатывать и избегать страшных предупреждений для пользователей:

  1. Включить двухфакторную аутентификацию в аккаунте Google и использовать пароль приложения (для каждого пользователя, я думаю ??), чтобы отправлять электронные письма без каких-либопредупреждения.
  2. Пусть моя система использует oauth2 с учетными записями gmail, чтобы Google больше не считал мое приложение "менее безопасным".

Мой вопрос: , что лучшеподход, и как мне настроить это ? Если мои пользователи gmail включат двухфакторную аутентификацию, смогут ли они сохранить свой код в моей системе, и моя система использует этот код для будущих авто-писем? Это вообще так работает? Мой опыт работы с двухфакторной аутентификацией заключается в том, что код отправляется на телефон пользователя каждый раз. Разве это не так? Будет ли сохраненный код на моем сервере (1 на пользователя) работать снова и снова? Срок действия истекает через определенное время?

И я понимаю, что с oauth2 нужно, чтобы мои пользователи активно входили в систему со своей учетной записью Google и каким-то образом обменивались токенами с моим сервером, но я на самом деле этого не делаю. знать. Есть ли способ для моего веб-сервера (PHP) реализовать oauth2 в связи с учетными записями Gmail?

В итоге, Какой самый простой способ отправки автоматически сгенерированных Gmail для моих пользователей , ктоплатите за эту услугу, не вызывая страшных предупреждений от Google? Объем электронных писем низкий - это не спам, это система отслеживания статуса на рабочем месте.

1 Ответ

0 голосов
/ 04 ноября 2019

Вы правы на своем втором пункте;Это простой способ для достижения ваших целей. Сначала вам нужно авторизовать ваше приложение с Gmail для работы с OAuth . Вы можете перейти по этим ссылкам, чтобы узнать, как реализовать авторизацию на вашем сервере, но вы также можете ввести здесь , чтобы оценить некоторые примеры. При разработке протокола авторизации вы можете прочитать Gmail API , чтобы начать работу с учетными записями клиентов.

...