Google oauth2.0 с веб-приложением для организации? - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь получить данные календаря (запрос FreeBusy) для сотрудников в наших организациях для веб-приложения, чтобы пользователи могли знать, должны ли они сейчас связаться с этим пользователем. При попытке получить доступ к конечной точке API FreeBusy я получаю 403, как и ожидалось, как я могу пройти аутентификацию в Google, чтобы позволить этому пользователю (или приложению) получать информацию из API?

Возможно ли создать " Приложение авторизации "токен с именем пользователя / паролем клиента, чтобы получить эти данные из консоли Google Dev? Или мне нужно использовать какое-то перенаправление на Google Auth URL и позволить пользователю пройти аутентификацию там и предоставить URL обратного вызова?

Кроме того, есть ли способ включить Google Auth, когда страница загружается? Есть ли способ сортировки "всплывающей" учетной записи Google, которую вы хотите использовать, и позволить Google затем сгенерировать токен доступа на основе этого?

Простой поток выглядит следующим образом:

  1. Пользователь вводит некоторые данные о том, что ему нужно, в форму внешнего интерфейса (javascript приложение)
  2. Позвоните в мой собственный API и определите, какие сотрудники соответствуют критериям X.
  3. Возьмите этот набор результатов и проверьте календари этих матчей. Если они доступны, разрешите пользователю связаться с ними.

1 Ответ

1 голос
/ 13 марта 2020

Чтобы получить доступ к данным других сотрудников, а не того, кто инициировал запрос, вам потребуется, чтобы эти сотрудники давали согласие на использование вами своих данных или (как правило, это делается) получить администратора вашей организации. утвердить ваше приложение от имени всех пользователей домена.

Если вы сделаете последнее, вы можете использовать делегирование всего домена [1], используя служебную учетную запись, чтобы получить необходимую информацию.

[1] https://developers.google.com/identity/protocols/oauth2/service-account#delegatingauthority

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...