Pregunta

Actualmente estoy tratando de permitir que los usuarios de mi solicitud autoricen mi aplicación para acceder a su DoubleClick para anunciantes API.Estoy manejando esta autorización utilizando Passport.js .Cuando incluyo tanto el Alcance de perfil y el alcance DFA como este:

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

Esto funciona bien.Sin embargo, solo me importa la API DFA, y en realidad no tengo la intención de usar nada del alcance del perfil, así que me gustaría eliminar eso:

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

Cuando autorizo a usar esta ruta ahora, recibo:

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

que proviene de Google, lo que significa que el alcance con el que solicitó fue insuficiente.¿Se requiere el alcance del perfil para cualquier tipo de acceso adicional?¿Por qué no puedo solicitar solo el alcance DFA?

¿Fue útil?

Solución

No, el alcance "El perfil" no se requiere para Google Oauth 2.0.

Si simplemente desea la autorización para la API de DFA, solo necesita este alcance https://www.googleapis.com/auth/dfatrafficking (como DOC oficial dice, y esta muestra de java Utilice únicamente este alcance)

La razón por la que obtiene "permiso insuficiente" es cuando usa la autenticación de passport.authenticate 'dfa' usando un proveedor de OAUTH (en su caso, se necesita Google), donde se requiere el alcance "Perfil" (como Este documento dice ," perfil "es el alcance básico para iniciar sesión)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top