googleapis / googleapis/google-api-nodejs-client

Service account impersonation

Offen
#2,959 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

priority: p3 type: question
Vorherrschende Sprache
TypeScript
Sterne
12.3k
Forks
2k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
24

Beschreibung

Hi!

I was trying to request the dv360 API with an impersonated service account token.
Hi guys,

running into the same issue.
When I try to request an impersonated token like this :
return new google.auth.GoogleAuth({
keyFile: './google-credentials.json',
clientOptions: {
subject:
'test-service-account-to-impers@some-domain', //serviceAccountEmail,
},
scopes: SCOPES,
});

where const SCOPES = [
'https://www.googleapis.com/auth/display-video',
'https://www.googleapis.com/auth/display-video-mediaplanning',
'https://www.googleapis.com/auth/display-video-user-management',
'https://www.googleapis.com/auth/doubleclickbidmanager',
];

But i receive an error from the API: Error: unauthorized_client: Client is unauthorized to retrieve access tokens using this method, or client not authorized for any of the scopes requested

if I remove the clientOptions I receive the token and can get to the API.

Note: roles added to the master service account got from here https://cloud.google.com/iam/docs/impersonating-service-accounts#iam-service-accounts-grant-role-sa-console

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der im Bericht gezeigten GoogleAuth-Konfiguration, insbesondere mit clientOptions.subject und den angeforderten Scopes. Sieh dir die verlinkte Dokumentation zur IAM-Impersonation von Servicekonten an und vergleiche die Anfragen für die beiden Tokens – mit und ohne clientOptions. Erledigt ist dies, wenn festgestellt wurde, ob die Bibliothek oder die Konfiguration des Kontos und der Scopes verhindert, dass das impersonierte Token ausgestellt wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
nodejs, typescript
Bereich
api, authentication
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.