Domanda

Attualmente sto cercando di consentire agli utenti della mia applicazione di autorizzare la mia app per accedere al loro doppieblick per gli inserzionisti API.Sto maneggiando questa autorizzazione usando passaporto.js .Quando includo sia il Scope del profilo e ambito DFA come questo:

.
  app.get '/requestAccess', passport.authenticate 'dfa',
    scope: [
      'https://www.googleapis.com/auth/dfatrafficking',
      'profile'
    ]
.

funziona bene.Tuttavia, mi interessa solo l'API DFA, e in realtà non intendo l'uso di qualcosa dallo scopo del profilo, quindi vorrei rimuoverlo:

  app.get '/requestAccess', passport.authenticate 'dfa',
    scope: [
      'https://www.googleapis.com/auth/dfatrafficking',
    ]
.

Quando autorizzo l'utilizzo di questa rotta ora, ottengo:

 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "insufficientPermissions",
    "message": "Insufficient Permission"
   }
  ],
  "code": 403,
  "message": "Insufficient Permission"
 }
}
.

che proviene da Google, il che significa che lo scopo che ho richiesto è stato insufficiente.È richiesto l'ambito del profilo per qualsiasi tipo di accesso aggiuntivo?Perché non riesco a richiedere solo l'ambito DFA?

È stato utile?

Soluzione

No, lo scope "Profilo" non è richiesto per Google OAuth 2.0.

Se si desidera semplicemente l'autorizzazione per API DFA, hai solo bisogno di questo ambito https://www.googleapis.com/auth/dfatrafficking (come DOC ufficiale dice e Questo campione Java Utilizzare solo questo scopo)

Il motivo per cui si ottiene "Autorizzazione insufficiente" è quando si utilizza l'autenticazione passport.authenticate 'dfa' utilizzando un provider OAuth (in astuccio, è Google) è eseguito, in cui è richiesto lo scope "Profilo" (come Questo documento dice ," profilo "è lo scopo di base per il login)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top