Варианты OAuth в Google Workspace

трехсторонний протокол OAuth.

Единоразово для каждого приложения

1. Пользователь хочет получить доступ к веб-приложению.
2. Веб-приложение перенаправляет пользователя на страницу Google, где пользователю необходимо предоставить приложению доступ.
3. Пользователь разрешает веб-приложению доступ к своим данным Google Workspace (например, к контактам или мероприятиям в Google Календаре).
4. Google отправляет веб-приложению код авторизации.
5. Веб-приложение отправляет код авторизации и учетные данные клиента в Google и получает новый токен.
6. Google фиксирует, что у этого веб-приложения есть доступ по выданному токену. Администратор или пользователь позже может отменить этот токен. Также этот токен отменяется автоматически при изменении пароля пользователя.

Постоянная авторизация

Пользователь: OAuth не требует дальнейшей информации от пользователя. Примечание. Пользователь или администратор могут отменить авторизацию веб-приложения в любой момент.

7. Веб-приложение запрашивает доступ к данным пользователя и предоставляет токен в качестве авторизации. Если срок действия токена истек, веб-приложение запрашивает у Google его обновление.
8. Google проверяет подлинность токена. Если проверка пройдена, Google возвращает данные.

Двусторонний протокол OAuth

Единоразовая настройка

1. Администратор устанавливает веб-приложение и предоставляет ему доступ по двустороннему протоколу OAuth. Он определяет, к каким данным пользователя приложение может получать доступ в домене (например, к контактам или мероприятиям в Google Календаре).
2. Веб-приложение проходит аутентификацию в Google и получает токен доступа от Google.

Постоянная авторизация (каждый раз, когда приложению нужно получить доступ к данным Google Workspace)

3. Веб-приложение отправляет токен аутентификации в Google, запрашивая данные пользователя (например, контакты или мероприятия в Google Календаре).
4. Google проверяет, есть ли у приложения доступ к запрошенным данным пользователя. Если у приложения есть доступ, Google вносит запрошенные изменения и возвращает нужные данные.