سؤال

أحاول حاليا السماح لمستخدمي تطبيقي بتفويض تطبيقي للوصول إلى واجهة برمجة تطبيقات دبل كليك للمعلنين.أنا أتعامل مع هذا التفويض باستخدام جواز السفر.شبيبة.عندما أقوم بتضمين كل من نطاق الملف الشخصي و دفا نطاق مثل هذا:

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

هذا يعمل بشكل جيد.ومع ذلك ، أنا أهتم فقط أبي دفا ، وأنا لا تنوي في الواقع على استخدام أي شيء من نطاق الملف الشخصي ، لذلك أود إزالة ذلك:

  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"
 }
}

الذي يأتي من جوجل ، وهذا يعني أن نطاق طلبت مع لم يكن كافيا.هل نطاق الملف الشخصي مطلوب إذن لأي نوع من الوصول الإضافي?لماذا لا يمكنني فقط طلب نطاق دفا?

هل كانت مفيدة؟

المحلول

لا ، نطاق "الملف الشخصي" غير مطلوب لجوجل أوث 2.0.

إذا كنت تريد مجرد إذن ل دفا أبي ، تحتاج فقط هذا النطاق https://www.googleapis.com/auth/dfatrafficking(مثل وثيقة رسمية يقول ، و هذه العينة جافا استخدم هذا النطاق فقط)

سبب حصولك على "إذن غير كاف" هو عند استخدام passport.authenticate 'dfa' يتم تنفيذ المصادقة باستخدام موفر أوث (في حالتك ، انها جوجل) ، حيث مطلوب نطاق "الملف الشخصي"(كما هذا المستند يقول, ، "الملف الشخصي" هو النطاق الأساسي لتسجيل الدخول)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top