Авторизация программы в Google API
От: Codealot Земля  
Дата: 20.06.22 23:15
Оценка:
Нужно сделать авторизацию в Google для десктопного предложения без лишних телодвижений для пользователя — например, показать пользователю в браузере гугловскую страницу выбора аккаунта и запрос разрешения на нужные права. Без необходимость вручную лезть в консоль API и что-то там настраивать, как это предлагают попадавшиеся мне мануалы.
Это можно сделать?
Ад пуст, все бесы здесь.
Re: Авторизация программы в Google API
От: Doom100500 Израиль  
Дата: 21.06.22 06:53
Оценка: +1
Здравствуйте, Codealot, Вы писали:

C>Нужно сделать авторизацию в Google для десктопного предложения без лишних телодвижений для пользователя — например, показать пользователю в браузере гугловскую страницу выбора аккаунта и запрос разрешения на нужные права. Без необходимость вручную лезть в консоль API и что-то там настраивать, как это предлагают попадавшиеся мне мануалы.

C>Это можно сделать?

Так это же OAuth2.
Ты, как разработчик апликации, регистрируешь эё на гугле — поличаешь ClientID и ClientSecret, Берёшь клиентскую библиотеку OAuth2 для своего языка, и, с её помощью запускаешь Authorization Code Flow, используя полученные при регистрации апликации ClientID и ClientSecret.
Спасибо за внимание
Отредактировано 21.06.2022 6:54 Doom100500 . Предыдущая версия .
Re[2]: Авторизация программы в Google API
От: Codealot Земля  
Дата: 21.06.22 14:55
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>Так это же OAuth2.

D>Ты, как разработчик апликации, регистрируешь эё на гугле — поличаешь ClientID и ClientSecret

И это надо сделать только один раз мне самому?
Ад пуст, все бесы здесь.
Re[3]: Авторизация программы в Google API
От: Doom100500 Израиль  
Дата: 22.06.22 06:37
Оценка: 6 (1)
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, Doom100500, Вы писали:


D>>Так это же OAuth2.

D>>Ты, как разработчик апликации, регистрируешь эё на гугле — поличаешь ClientID и ClientSecret

C>И это надо сделать только один раз мне самому?


Если коротко, то да.
А вообще тема очень обширная, и придётся почитать

Побуду телепатом.
Скорее всего ты захотел использовать грант Client Credentials. Он очень прост для пониманиям, потому что для получения токена нужны только ClientID и ClientSecret. Но он используется только ботов, которые могут выполнять действия от лица пользователя, который этот бот зарегистрировал (другими словами идентивикация пользователя произвелось на стадии регистрации бота).

Елси аплицация должна иденцифицировать пользователя сама, то для этого используется гран Authorization Code. Тогда апликациям используя ClientID и ClientSecret, выданный при регистрации апликации разработчиком, перенаправляется на OAuth сервер (в данном случае гугл) для авторизации, где конечный пользователь подтверждает свою личность любым поддерживаимым сервером методом, т.е. именно открывается браузер со страницой логина в гугл. После этого апликация получает acess token.

По грантам в статье выше:




Последние два помечены как legacy, потому что пребуют, чтобы апликация у себя хранила username/password, в отличие от Authorization Code, когда юзер аутенфицируется на самом сервере.

В принципе, для desktop апликации вполне мог бы подойти и Password Grant, но раз он легаси, то может отвальться в любой момент.
Таким образом тебе нужно освоить Authorization Code (в режиме особой паранойи PKCE) и Refresh Token (что тут делать с паранойей — не знаю)
Спасибо за внимание
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.