Mam konfigurację, w której użytkownicy logują się przez Google Oauth2.0 i uderzył w API katalogu Google z Wiosny Java, gdzie następnie przetwarzam dane na tym użytkowniku. Obecnie działa tylko wtedy, gdy loguję się z kontem Google Admin. Potrzebuję tego do pracy dla wszystkich typów kont. To jest adres URL, który uderzam:

https://www.googleapis.com/admin/directory/v1/users/{userKey}

Ponieważ działa dobrze dla użytkowników administratora, czy istnieje jakikolwiek sposób, aby po prostu zmienić tę konfigurację, aby obsługiwać użytkownikom nie-administratora? Zastanawiam się, czy wymaga to czegoś takiego jak konto serwisowe, ale myślałem, że daje moją aplikację Zakres https://www.googleapis.com/auth/admin.directory.user byłby w porządku. Dzięki

1
Matthew Spahr 7 październik 2020, 23:36

1 odpowiedź

Najlepsza odpowiedź

Non-administratorzy nie mogą uzyskać dostępu do tych informacji:

Tylko administratorzy za pomocą użytkowników (patrz przywileje Oto) może wykonywać działania takie jak odczytać właściwości użytkowników. Konta inne niż administrator otrzymają błąd 403 z taką wiadomością:

Nie upoważniony do uzyskania dostępu do tego zasobu / API

Weź pod uwagę, że API katalog jest częścią administratora SDK, którego celem jest zarządzanie zasobami domeny i może być używany tylko przez konta z odpowiednimi uprawnieniami administracyjnymi. W tym sensie dodanie dodatkowego zakresu nie zmieni niczego, biorąc pod uwagę, że prawdopodobnie robisz żądanie GET (wywołanie Użytkownicy: Get) i przy użyciu https://www.googleapis.com/auth/admin.directory.user.readonly.

Z pewnością możesz użyć konta serwisowego, który został przyznany autorytetem domeny , aby podszywać konto administratora i całkowicie pozbyć się kroku logowania, ale nie jestem pewien, czy chcesz to zrobić.

Odniesienie:

0
Iamblichus 8 październik 2020, 08:27