Вход в Google со своего приложения

C 15 июля Google убрал Basic Authentication для доступа в свои аккаунты. Теперь с моей программы при попытке входа я получаю от Google ошибку «неверный пароль».
Google предлагает два варианта решения этой проблемы:

1. Откройте страницу Управление доступом и разрешите ненадежным приложениям доступ к аккаунту Google.

и

2. Установите приложение, поддерживающее современные стандарты безопасности

Интересует второй вариант. Кто и как уже перевел свое «ненадежное» приложение в «надежное», поделитесь опытом?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

С Oauth 2.0 в основном разобрался, но хотелось бы уточнить следующее:

1. После получения access token, мне необходимо получить refresh token. Это необходимо для того, что access token имеет ограничения по времени (около 1 часа?).

2. refresh token можно сохранять и использовать повторно без следующих авторизаций. Но он имеет тоже ограничения, если :
— пользователь запретил (отменил) его применения
— refresh token не использовался более 6 месяцев.
— пользователь перебрал лимит (25) токенов для своего аккаунта. При этом удаляется без предупреждения самый старый токен.

3. Мое приложение привязывается только к одному Client ID, созданный мною. Т.о., используя этот ID, я могу иметь бесконечное число пользователей, которые поэтому ID создадут свои собственные токены.

Поправьте, если неправ.

документацию здесь, я так понял, вы уже прочли.

1. Для получения access_token нужно залогинить пользователя в том числе получить от него консент. Для этого делается запрос на auth энд-поинт, который, если все прошло успешно вернет auth code. Полученный auth_code вы обменяете на access_token (запрос на token энд-поинт), который вернется вместе с refresh_token, время жизни access_token вернется в клейме «expires_in» в секундах.
2. время жизни refresh_token можно считать, что бесконечно.
3. у вас есть связка приложение (клиент), пользователь и ресурс. Для нее вам выписывается токен.

1. это понятно
2. ок
3. не понял. У меня был вопрос — если у меня есть Client ID, то могут ли его ВСЕ пользователи использовать для получения своего токена через мое приложение? Или для каждого пользователя надо создавать свой Client ID?

могут ли его ВСЕ пользователи использовать для получения своего токена через мое приложение?

да, могут

Как вариант решения проблемы (зависит от того, что именно делает «ваша программа» и для кого) — можно включить двухфакторную авторизацию + сгенерировать app password, с помощью которого smtp/pop3 работать сможет.

что именно делает «ваша программа»

Пользователь логинится, после заполняет форму для видеофайла и загужает этот файл на youtube.

Не, тогда не пойдёт, вам же не в «гмейл», а в google надо (вы тему уже переименовали, молодец).

Oauth вам в помощь.

вам же не в "гмейл

сорри ошибся, просто при неправильной регистрации оно на gmail сообщение скидывает, вот и понесло....

Oauth вам в помощь

Спасибо буду пробывать.

Там є підтримка oauth для imap. аутентифікація imap з допомогою токена (замість логіна і пароля) який отримуний при oauth процедурі.

Підписатись на коментарі