Я новичок Golang и работаю над проектом, который использует G Suite в качестве IDP для управления пользователями определенного домена / организации c и GCP K8 для взаимодействия на стороне сервера с микро-сервисами Google API Google Drive. и другие внутренние службы / службы Google.
Мы выбрали неявный поток на стороне клиента , поскольку мы используем SPA на клиенте, но в дополнение к доступу к Google Drive API непосредственно из клиент, мы передаем информацию на сервер и проверяем пользователей id_token на стороне сервера для аутентификации нашего приложения. Мы также хотели бы использовать скрытый пользовательский OAuth access_token для доступа к API Google Диска с нашего сервера, используя разрешения доступа IAM каждого пользователя для каждого запроса, но кажется, что google-api- go -client пакеты могут использовать только поток на стороне сервера .
Можно ли использовать неявный OAuth-доступ на стороне клиента на сервере с Google Диски Go пакет и другие клиентские библиотеки? Я углубился в использование WithTokenSource
(ниже фрагмента), но не могу понять, как избежать всего потока на стороне сервера и напрямую установить строку токена пользователя (Bearer {{access_token}}
) для запроса driveService.
driveService, err := drive.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))