Доступ к расширенной информации о пользователях с помощью GSuite Open ID Connect - PullRequest
0 голосов
/ 29 октября 2018

Я интегрирую некоторые из внутренних приложений нашей компании, чтобы использовать наш экземпляр GSuite для аутентификации наших сотрудников при входе в систему, используя поддержку GSuite для Open ID Connect.

Однако наши приложения однозначно идентифицируют пользователей, используя наш внутренний «идентификатор сотрудника» для входа вместо нашего адреса электронной почты GSuite. Я вижу, что можно сохранять / управлять "идентификатором сотрудника" в gsuite, однако я не уверен, как получить эту информацию после успешной аутентификации пользователя.

В настоящее время я получаю список «утверждений» от конечной точки userinfo, но эти утверждения включают только имя и адрес электронной почты пользователя. Мне также нужен номер телефона и идентификатор сотрудника, которые мы настроили на GSuite.

Это вопрос запроса дополнительных областей для начала? Или мне нужно сделать отдельный запрос для получения дополнительной информации о пользователе?

Я вижу, что существует Admin Directory API , но, похоже, он предназначен для доступа к информации ВСЕХ пользователей в домене, в то время как меня интересуют только расширенные детали пользователя CURRENT.

1 Ответ

0 голосов
/ 15 февраля 2019

В конечном итоге я создал служебную учетную запись с областью действия https://www.googleapis.com/auth/admin.directory.user.readonly для вызова GET https://www.googleapis.com/admin/directory/v1/users/<current_user>. Мне пришлось делегировать общедоменные полномочия учетной записи службы, а также настроить ее для олицетворения пользователя-администратора.

Это кажется излишним, поскольку мне нужны только расширенные сведения о текущем пользователе, для которого у меня уже есть токен доступа OAuth2.

Я нашел этот вопрос весьма полезным для решения проблемы.

Если кто-нибудь может предоставить ответ, использующий токен доступа OAuth2, я все равно буду признателен за это

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