Вопрос

В настоящее время я пытаюсь разрешить пользователям моего приложения авторизовать мое приложение для доступа к их API Doubleclick for Advertisers.Я обрабатываю эту авторизацию с помощью Passport.js.Когда я включаю оба область применения профиля и область действия DFA, подобная этой:

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

Это прекрасно работает.Однако меня волнует только DFA api, и на самом деле я не собираюсь использовать что-либо из области профиля, поэтому я хотел бы удалить это:

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

Когда я разрешаю использовать этот маршрут сейчас, я получаю:

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

Который исходит от Google, а это означает, что объем, который я запросил, был недостаточным.Требуется ли тогда область действия профиля для какого-либо дополнительного доступа?Почему я не могу запросить только область действия DFA?

Это было полезно?

Решение

Нет, область "профиль" не требуется для Google OAuth 2.0.

Если вам просто нужна авторизация для DFA API, вам нужна только эта область https://www.googleapis.com/auth/dfatrafficking(как официальный документ говорит, и этот пример java используйте только эту область)

Причина, по которой вы получаете "Недостаточное разрешение", заключается в том, что вы используете passport.authenticate 'dfa' выполняется аутентификация с использованием поставщика OAuth (в вашем случае это Google), где требуется область "профиль" (как в этом документе говорится, "профиль" - это базовая область для входа в систему)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top