هناك طرق عديدة لتوزيع البريد العشوائي الضار على فكونتاكتي. لكن الآفات لا تنام؛ وتتبادر إلى أذهانهم المزيد والمزيد من الأفكار المثيرة للاهتمام. واتضح أنه مفيد جدًا. لقد تعلم المحتالون كيفية استخدامه لتجاوز صفحة التحذير الخاصة بالمواقع الضارة.
وبدأ كل شيء عندما ظهرت الرسالة التالية في أحد الأيام على حائطي:
بدافع الفضول، اتبعت الرابط وانتهى بي الأمر في موقع تصيد آخر. لكن الرابط نفسه بدا غريبًا بالنسبة لي، فقد بدا وكأنه (نصف الأحرف في ASCII):
vkontakte.ru/away.php ? ل=http%3A%2F%2FApi.vKontakte.Ru%2F%2Fo%2561u%2574%…
ماذا تعني كل معلمة:
هذا هو بيت القصيد من تجاوز القائمة السوداء لمواقع فكونتاكتي الضارة. يظهر فقط تنبيه حول الانتقال إلى api.vk.com. ونتيجة للانتقال، ننتقل مباشرة إلى موقع التصيد الاحتيالي المدرج في القائمة السوداء. عندما تتبع الرابط vkontakte.ru/away.php?to=vgostivk.dyndns**:
كما اتضح فيما بعد، فإن التطبيق الذي يفترض أنه يتطلب إذنًا كان معلقًا على المستخدم المخترق:
وقد تم تصميم موقع التصيد الاحتيالي نفسه بشكل مثير للاهتمام. التصميم، كالعادة، كان على طراز الاتصال وطلب تسجيل الدخول. لقد قمت بتسجيل الدخول باستخدام بريد إلكتروني وكلمة مرور عشوائيين، وابتلعت الملف المزيف على ما يرام. ما حدث بعد ذلك كان أكثر إثارة للاهتمام؛ فقد ظهرت أخبار من "بافيل دوروف" على الصفحة الرئيسية:
بعد النقر على زر "إنشاء عداد شخصي"، ظهر شريط تقدم رائع. ثم طُلب منك الإشارة إلى رقمك وإرسال رسالة نصية قصيرة:
من الناحية النظرية، بعد "التنشيط" الناجح، كان من المفترض إعادة التوجيه إلى صفحة activ.php، لكنني لم أتمكن من الوصول إلى هناك. مقتطفات من البرامج النصية JS لموقع التصيد:
...
إذا (req.status == 200) (
// إذا كانت الحالة 200 (موافق) - قم بالرد على المستخدم
إذا (req.responseText == "موافق") (
//statusElem.innerHTML = "كل شيء على ما يرام!";
get_activation();
}
إذا (req.responseText == "لا" ) (statusElem.innerHTML = "رمز التفعيل غير صالح";}
//statusElem.innerHTML = "استجابة الخادم:"+req.responseText;
...
الدالة get_activation() (
وثيقة .location="activ.php" ;
}* تم تمييز كود المصدر هذا باستخدام Source Code Highlighter.
بعد أن يمنح المستخدم الأذونات، تتم إعادة التوجيه إلى صفحة كعب الروتين القياسية، وهذا هو Mail.Ru Connect.mail.ru/oauth/success.html:
< HTTP/1.1 302 Found
< Location: http://connect.mail.ru/oauth/success.html#access_token=FJQbwq9&token_type=bearer&
expires_in=86400&refresh_token=yaeFa0gu
يجب أن يعترض التطبيق عملية إعادة التوجيه الأخيرة ويحصل عليها من العنوان رمز وصولواستخدامها للوصول إلى الموارد المحمية.
بعد أن يمنح المستخدم الأذونات، تتم إعادة التوجيه إلى صفحة كعب الروتين القياسية، وهذا هو Mail.Ru Connect.mail.ru/oauth/success.html:
< HTTP/1.1 302 Found
< Location: http://connect.mail.ru/oauth/success.html#access_token=FJQbwq9&token_type=bearer&
expires_in=86400&refresh_token=yaeFa0gu
يجب أن يعترض التطبيق عملية إعادة التوجيه الأخيرة ويحصل عليها من العنوان رمز وصولواستخدامها للوصول إلى الموارد المحمية.
في عام 2010، بدأ العمل على إصدار جديد تمامًا من بروتوكول OAuth 2.0، والذي لن يكون متوافقًا مع الإصدارات السابقة من OAuth 1.0. في أكتوبر 2012، تم نشر إطار عمل OAuth 2.0 في RFC 6749، واستخدام حامل الرمز المميز في RFC 6750، وكلاهما يتتبع طلبات التعليق. لا يزال يجري تطوير طلبات RFC إضافية.
كانت هناك عدة متطلبات أساسية لإنشاء OAuth 2.0. أولًا، OAuth ليس سهل الاستخدام على جانب العميل. أحد أهداف تطوير OAuth الجديد هو تبسيط عملية تطوير تطبيقات العميل. ثانيًا، على الرغم من تنفيذ ثلاث طرق (تسمى التدفقات) مذكورة في المعيار للحصول على رمز مميز (معرف فريد) للترخيص: بالنسبة لتطبيقات الويب وعملاء سطح المكتب وعملاء الأجهزة المحمولة، في الواقع يتم دمج الطرق الثلاث في طريقة واحدة. وثالثا، تبين أن البروتوكول ضعيف التوسع. ومن المخطط إضافة:
ومن الجدير بالذكر أنه على الرغم من أن معيار OAuth 2.0 لم تتم الموافقة عليه بعد، إلا أنه مستخدم بالفعل من قبل بعض الخدمات. على سبيل المثال، تدعم واجهة Facebook Graph API بروتوكول OAuth 2.0 فقط.
هناك فكرة خاطئة مفادها أن OAuth هو امتداد لبروتوكول OpenID. في الواقع، هذا ليس صحيحا. على الرغم من وجود العديد من أوجه التشابه بين OpenID وOAuth، إلا أن الأخير عبارة عن بروتوكول مستقل لا علاقة له بأي حال من الأحوال بـ OpenID.
لمنع التهديد بطلبات إعادة التشغيل، يستخدم OAuth حرفًا nonce وطابعًا زمنيًا. المصطلح "nonce" يعني أن هذه المرة تستخدم مرة واحدة وهي عبارة عن مجموعة عشوائية فريدة من الحروف والأرقام تهدف إلى تحديد كل طلب موقع بشكل فريد. ومن خلال وجود معرف فريد لكل طلب، سيتمكن مزود الخدمة من منع طلبات إعادة الاستخدام. وهذا يعني أن العميل يقوم بإنشاء سلسلة فريدة لكل طلب يرسله إلى الخادم، ويتتبع الخادم جميع الأحرف غير المستخدمة لمنع استخدامها مرة أخرى.
يمكن أن يكون استخدام الحروف غير المكتملة مكلفًا للغاية بالنسبة للخادم، حيث يتطلب تخزينًا دائمًا لجميع الحروف غير المستلمة. لتسهيل التنفيذ، يضيف OAuth طابعًا زمنيًا لكل طلب، مما يسمح للخادم بتخزين الرقم nonce لفترة محدودة فقط. عندما يصل طلب بطابع زمني أقدم من الوقت المخزن، يتم رفضه لأن الخادم لم يعد لديه nonce من ذلك الوقت.
يستخدم OAuth ثلاثة أنواع من بيانات الاعتماد: مفتاح المستهلك والبيانات السرية أو بيانات اعتماد العميل، وبيانات الاعتماد المؤقتة (رمز الطلب المميز وبيانات الاعتماد السرية أو المؤقتة) والرموز المميزة (رمز الوصول وبيانات الاعتماد السرية أو الرمز المميز).
يتم استخدام بيانات اعتماد العميل لمصادقة العميل. وهذا يسمح للخادم بجمع معلومات حول العملاء. باستخدام خدماته، يقدم الخادم لبعض العملاء معالجة خاصة، مثل تقييد الوصول المجاني، أو تزويد مالك المورد بمعلومات أكثر تفصيلاً حول العملاء الذين يحاولون الوصول إلى مواردهم المحمية. في بعض الحالات، قد لا تكون بيانات اعتماد العميل آمنة ويمكن استخدامها فقط لأغراض إعلامية، كما هو الحال في تطبيقات سطح المكتب.
يتم استخدام الرمز المميز بدلاً من الاسم وكلمة المرور لمالك المورد. لا يشارك مالك المورد بيانات الاعتماد الخاصة به مع العميل، بل يأذن للخادم بإصدار رمز مميز للعميل - فئة خاصة من بيانات الاعتماد التي تمثل منح الوصول. يستخدم العميل الرمز المميز للوصول إلى المورد المحمي دون معرفة كلمة مرور مالك المورد.
يتكون الرمز المميز من معرف، عادةً (ولكن ليس دائمًا) مجموعة عشوائية من الأحرف والأرقام الفريدة ويصعب تخمينها، ومفتاح لحماية الرمز المميز من الاستخدام من قبل أشخاص غير مصرح لهم. الرمز محدود من حيث النطاق والمدة، ويمكن لمالك المورد إبطاله في أي وقت دون التأثير على الرموز المميزة الأخرى الصادرة لعملاء آخرين.
تستخدم عملية ترخيص OAuth أيضًا مجموعة من بيانات الاعتماد المؤقتة التي يتم استخدامها لتحديد طلب الترخيص. لاستيعاب أنواع مختلفة من العملاء (الويب، سطح المكتب، الهاتف المحمول، وما إلى ذلك)، توفر بيانات الاعتماد المؤقتة مرونة وأمانًا إضافيين.
كيف يعمل بروتوكول OAuth
دعونا نشرح تشغيل بروتوكول OAuth باستخدام مثال. لنفترض أن المستخدم (مالك المورد) يريد طباعة صوره (الموارد) التي تم تحميلها على موقع "photos.example.net" (الخادم) باستخدام خدمة الطباعة "printer.example.net" (العميل).
يصف هذا المثال تدفقًا يتضمن رمز التفويض (تدفق رمز التفويض). بالإضافة إلى ذلك، يصف معيار OAuth 2.0 التدفقات التالية:
يدعم OAuth طريقتين لمصادقة الرسائل من العميل: HMAC -SHA1 وRSA -SHA1 . من الممكن إرسال رسائل بدون توقيع، ثم تتم الإشارة إلى "نص عادي" في حقل نوع التوقيع. ولكن في هذه الحالة، وفقًا للمواصفات، يجب إنشاء الاتصال بين العميل والخادم عبر SSL أو TLS.
في يوليو 2012، أعلن عيران هامر، المحرر الحالي لمعيار OAuth 2.0، استقالته بعد ثلاث سنوات من العمل على المعيار الجديد، وطلب إزالة اسمه من المواصفات. لقد تحدث عن آرائه على موقعه على الإنترنت. وقدم في وقت لاحق عرضا. .
مؤسسة ويكيميديا. 2010.
ونتيجة لذلك، يمكن لتطبيق العميل الذي يستخدم AdWords API الوصول إلى حساب AdWords بدون عنوان البريد الإلكتروني وكلمة المرور للمستخدم.
لإنشاء بيانات اعتماد OAuth2، اتبع الخطوات التالية.
أولا، عليك أن تحدد نوع التطبيق، الذي تريد إنشاءه. هناك نوعان من التطبيقات في AdWords API:
استخدم الجدول أدناه لتحديد نوع التطبيق الذي تحتاجه.
ماذا تختار | الموقف |
---|---|
تطبيق قابل للتثبيت(مُستَحسَن) |
|
تطبيق ويب |
|
بمجرد تحديد نوع التطبيق الخاص بك، انقر فوق علامة التبويب المناسبة أدناه واتبع التعليمات لإنشاء معرف العميل والسر.
تطبيق قابل للتثبيت
اتبع الإرشادات أدناه لتكوين استخدام بيانات اعتماد OAuth2 مع مكتبة العميل الخاصة بلغتك.
ملحوظة.إذا اخترت عدم استخدام إحدى مكتبات عملائنا، فستحتاج إلى تنفيذ العمليات بنفسك.هناك خيار بديل لإنشاء بيانات اعتماد OAuth2 وهو الاستخدام ملعب OAuth2. يتيح لك هذا النظام، بالاشتراك مع وحدة تحكم Google API، إنشاء رموز OAuth2 المميزة بنفسك.
تم تصميم نظام OAuth2 Playground لأولئك المستخدمين الذين يحتاجون إلى الوصول إلى حساباتهم فقط واحدحساب المدير أو مستخدم AdWords. إذا كنت بحاجة إلى المطالبة ببيانات الاعتماد لعدة مستخدمين، فمن الأفضل استخدام مكتبات العملاء كما هو موضح أعلاه.
منذ أن لديك بالفعل رمز التحديث، لم تعد بحاجة إلى استخدام OAuth2 Playground باعتباره URI لإعادة التوجيه الذي تم حله. لإزالة هذا النظام من القائمة، اتبع الخطوات التالية:
لذلك لديك بيانات اعتماد OAuth الخاصة بك. يمكنك الآن الاستعلام عن AdWords API واستخدامها مقابل مكتبة العميل المطلوبة.
يصف هذا القسم كيفية الوصول إلى AdWords API باستخدام حسابات الخدمة.
حساب الخدمة هو حساب ينتمي إلى التطبيق وليس إلى المستخدم النهائي الفردي. توفر حسابات الخدمة التفاعل بين تطبيق الويب وخدمة Google. يستدعي تطبيقك واجهة برمجة التطبيقات (API) نيابة عن حساب الخدمة دون إشراك المستخدمين بشكل مباشر.
تسمح واجهة برمجة تطبيقات AdWords بالوصول إلى حساب الخدمة عبر نطاقات G Suite.
ينفذ حساب الخدمة عملية OAuth2، والتي بدلاً من ترخيص المستخدم تستخدم ملف مفتاح لا يمكن الوصول إليه إلا من خلال التطبيق الخاص بك.
يوفر استخدام حسابات الخدمة ميزتين مهمتين:
تُستخدم حسابات الخدمة على نطاق واسع لتوفير الوصول البرمجي إلى واجهات برمجة التطبيقات باستخدام بروتوكول OAuth2 دون تدخل المستخدم.
ومع ذلك، فإن إعداد مثل هذه الحسابات للعمل مع AdWords API ليس بالأمر السهل. بديل أبسطمع رمز التحديث المستمر. يسمح هذا الأسلوب للتطبيق بطلب رموز وصول جديدة في أي وقت.
وكجزء من هذه العملية، تحتاج إلى تكوين ترخيص التطبيق من خلال مكتبة العميل كما هو موضح أعلاه. يجب القيام بذلك مرة واحدة فقط لأن رموز تحديث Google OAuth2 لا تنتهي صلاحيتها أبدًا.
أولاً، تحتاج إلى إنشاء مفتاح حساب الخدمة في وحدة تحكم Google API.
نظرًا لأن G Suite تتم إدارته على مستوى النطاق، يجب عليك حماية ملف المفتاح بشكل آمن والذي يسمح للحسابات المعتمدة بالوصول إلى خدمات Google. وهذا مهم بشكل خاص لأننا نزود حساب الخدمة بالقدرة على انتحال شخصية أي مستخدم للمجال.
بالإضافة إلى ذلك، يوصى بأن يكون لكل حساب خدمة حق الوصول إلى واجهة برمجة تطبيقات Google واحدة فقط. يتم استخدام الحقل لهذا الغرض نِطَاق، وهو موضح في القسم التالي. يسمح لك هذا الإجراء الوقائي بالحد من كمية البيانات المفتوحة للوصول غير المصرح به في حالة تعرض ملف المفتاح للخطر.
لمنح إمكانات الانتحال لحساب خدمة، اتبع الخطوات التالية:
يمكنك الآن الوصول إلى حسابك في AdWords باستخدام حساب الخدمة الخاص بك كجزء من عملية الموافقة على OAuth2.
حدد لغة لعرض التعليمات الخاصة بإعداد مكتبة العميل.
ملحوظة.إذا اخترت عدم استخدام إحدى مكتبات عملائنا، فستحتاج إلى تنفيذ العملية بنفسك.إذا كان تطبيقك لا يستخدم توزيع بيانات الاعتماد، فقد يؤدي ذلك إلى زيادة كبيرة في عدد الطلبات المرسلة إلى Google. ونتيجة لذلك، قد تفرض خوادمنا قيودًا على مثل هذا التطبيق، مما سيؤدي إلى تقليل سرعة عمله.
يصف هذا القسم كيفية تحسين إدارة بيانات اعتماد OAuth2 بحيث يتفاعل تطبيقك بشكل أكثر فعالية مع AdWords API.
انتباه!تحت المصطلح أوراق اعتماديشير هذا إلى المجموعة الكاملة من سمات اعتماد OAuth2، بما في ذلك رمز الوصول وتاريخ انتهاء صلاحيته.يؤدي توزيع بيانات الاعتماد عبر طلبات واجهة برمجة التطبيقات (API) إلى تحسين الأداء وتجنب الحمل الزائد والأخطاء الناتجة عن انتهاكات القيود.
تعتمد استراتيجية توزيع بيانات الاعتماد على تصميم التطبيق.
في التطبيقات ذات مؤشرات الترابط المتعددة، يجب عليك استخدام نفس بيانات الاعتماد لكل جلسة عمل لمؤشر الترابط.
في التطبيقات متعددة العمليات والتطبيقات الموزعة، من الضروري تنفيذ بعض البنية التحتية لتمرير بيانات الاعتماد بين العمليات. بالإضافة إلى ذلك، يجب عليك التأكد من عدم حظر مؤشرات الترابط وحدوث حالات السباق.
في تطبيق متعدد العمليات/موزع ومتعدد الخيوط، تحتاج كل عملية إلى الجمع بين الاستراتيجيتين.
فيما يلي إستراتيجيات لمصادقة حساب AdWords واحد، مثل حساب المدير ذي المستوى الأعلى في التسلسل الهرمي.
ثم يصف كيفية تكييف هذه الاستراتيجيات مع .
في التطبيقات متعددة الخيوط، يجب أن تكون بيانات الاعتماد متاحة لخيوط مختلفة. يجب أن تتم تحديثات بيانات الاعتماد بشكل متزامن لتجنب حالات السباق.
يعرض هذا الرسم البياني سلاسل الرسائل التي تمرر الطلبات إلى AdWords API في وقت التشغيل. يتم استخدام مجموعة مشتركة من الجلسات (المستخدمين). لاحظ أن كل جلسة يجب أن تستخدم نفس كائن بيانات الاعتماد. استجابة لكل طلب API، يتلقى مؤشر الترابط الجلسة المقابلة (المستخدم). إذا كانت هناك حاجة إلى تحديث رمز الوصول، فيجب أن يتم ذلك بشكل متزامن لتجنب حالة السباق. بمعنى آخر، يجب أن يكون كائن بيانات الاعتماد مؤشر ترابط آمن.
تسهل مكتبات العملاء تمرير بيانات الاعتماد بين سلاسل الرسائل. تحتوي كل مكتبة عميل على كائن جلسة (أو مستخدم) ببيانات اعتماد تعيد استخدامها طوال دورة حياتها. لاستخدام بيانات الاعتماد عبر الجلسات، يجب عليك تطبيقها عند إنشاء كل جلسة. في كافة مكتبات العملاء، تكون بيانات الاعتماد كائنًا آمنًا لمؤشر الترابط ويتم تحديثه بشكل متزامن عند انتهاء صلاحية رمز الوصول.
على سبيل المثال، في مكتبة عميل Java، يمكنك إنشاء فئة بيانات اعتماد فردية واستخدامها لجميع الجلسات.
في التطبيقات متعددة العمليات والموزعة، يجب أن يكون توزيع بيانات الاعتماد مستمرًا. لتجنب حالة السباق حيث تحاول خوادم متعددة تحديث بيانات الاعتماد في نفس الوقت (مما يؤدي إلى طلبات تحديث زائدة)، يوصى بفرض التحديث وتوفير بيانات الاعتماد المحدثة لجميع العمليات والخوادم.
على سبيل المثال، قد تقوم مهمة أو خدمة واحدة بتحديث بيانات الاعتماد بشكل دوري ودفعها إلى مخزن البيانات حيث سيتم استخدامها بواسطة خوادم مختلفة.
يوضح الرسم التخطيطي التحديث الدوري لبيانات الاعتماد وتسجيل خصائصها في مخزن البيانات. تتلقى جميع الخوادم بعد ذلك بيانات الاعتماد قبل تقديم طلب إلى واجهة برمجة التطبيقات.
تقوم مهمة التحديث بتحديث بيانات الاعتماد بشكل دوري وإرسالها إلى مخزن البيانات. يجب ألا تنتظر هذه المهمة انتهاء صلاحية بيانات الاعتماد الحالية، حيث سيؤدي ذلك إلى تعطل التطبيق لبعض الوقت بسبب عدم وجود بيانات اعتماد صالحة.
البديل الأفضل هو فرض تحديث دوري، والذي يستبدل بيانات الاعتماد الموجودة في مخزن البيانات بأخرى جديدة في كل مرة. يجب تنفيذ مهمة التحديث جيدًا قبل انتهاء صلاحية بيانات الاعتماد الحالية حتى يكون هناك وقت كافٍ في حالة حدوث خطأ مؤقت. يمكنك البدء بإجراء تحديث كل 15 دقيقة.
ملحوظة.إذا انتهت صلاحية رمز الوصول الخاص ببيانات الاعتماد أثناء معالجة طلب واجهة برمجة التطبيقات (API)، فسيستمر تنفيذ الطلب. على سبيل المثال، إذا قمت بإنشاء استعلام طويل الأمد وكان لديك أقل من دقيقة متبقية للوصول إليه، فسيتم إرجاع النتائج.يتم استخدام تخزين البيانات لتوفير بيانات الاعتماد للعمليات والخوادم المختلفة.
للقيام بذلك، يمكنك استخدام مستودع بيانات موجود أو إنشاء مستودع متخصص ستتلقى الخوادم من خلاله بيانات الاعتماد. تتضمن الحلول الممكنة خوادم التخزين المؤقت (مثل Memcached أو Infinispan) ومخازن بيانات NoSQL (مثل MongoDB).
الغرض الرئيسي من مستودع البيانات هو توفير واجهة موثوقة لجميع الخوادم التي تصل إلى واجهة برمجة التطبيقات (API). يجب تحسين تشغيله لقراءة البيانات بسرعة: ستقرأ الخوادم والعمليات بيانات الاعتماد أكثر من تحديثها.
تذكر أن تحافظ على أمان بيانات الاعتماد الخاصة بك.
عند حفظ بيانات الاعتماد، يجب عليك حفظ خاصية expiry_time (الوقت الحالي + انتهاء الصلاحية) وrefresh_token مع خاصية Access_token. يتم حساب خاصية expiry_time (تاريخ انتهاء صلاحية الرمز المميز) باستخدام الصيغة التالية: وقت طلب تحديث Access_token + وقت انتهاء الصلاحية (تاريخ انتهاء صلاحية الرمز المميز).
يحصل كل خادم في التجمع على أحدث بيانات الاعتماد من مخزن البيانات قبل إرسال الطلب. طالما تم تشغيل مهمة التحديث بنجاح، ستكون بيانات الاعتماد صالحة. ومع ذلك، إذا فشلت مهمة التحديث أو مخزن البيانات، فيجب أن تكون هناك آلية احتياطية.
إذا كان الخادم أو العملية غير قادر على الحصول على بيانات الاعتماد من مخزن البيانات، أو إذا انتهت صلاحية بيانات الاعتماد، فيجب على الخادم تحديث بيانات الاعتماد الخاصة به للسماح للتطبيق بمواصلة العمل مع واجهة برمجة التطبيقات حتى يتم حل المشكلة.
في العمليات ذات مؤشرات الترابط المتعددة، يجب عليك استخدام نفس الإستراتيجية لتوزيع بيانات الاعتماد بين سلاسل الرسائل.
يمكن استخدام بيانات الاعتماد التي تم إنشاؤها لحساب مدير AdWords للوصول إلى جميع حسابات الأطفال. عادةً ما يحتاج المستخدمون الذين لديهم حساب مدير واحد فقط إلى إنشاء بيانات اعتماد لحساب المدير ذي المستوى الأعلى لتخويل التطبيق لجميع حسابات AdWords الثانوية.
وفي حالات أخرى، يحتاج التطبيق إلى الوصول إلى حسابات AdWords غير المرتبطة ببعضها البعض في التسلسل الهرمي لحساب المدير. يتطلب هذا الموقف منك إنشاء بيانات اعتماد متعددة والمحافظة عليها لحسابات مختلفة، مثل كل حساب عميل في AdWords يمكنك الوصول إليه، أو لكل حساب مدير عالي المستوى في تسلسلات هرمية مستقلة.
يمكنك الالتزام بهذه الاستراتيجيات لكلا التطبيقين مع الحد الأدنى من التغييرات. عند استخدام التخزين المشترك، يجب فهرسة بيانات الاعتماد بواسطة معرف الحساب customerId للتأكد من أن بيانات الاعتماد مرتبطة بالحساب المطلوب. بالإضافة إلى ذلك، يجب أن تقوم مهمة التحديث بتحديثها في الوقت المحدد. بعد ربط حساب جديد، قد تحتاج إلى تشغيله.
أخيرًا، في التطبيقات متعددة الخيوط، تحتاج إلى توزيع كائن بيانات الاعتماد فقط بين سلاسل العمليات التي تعمل في الحساب المرتبط به.
يمكن أن يوفر رمز الوصول درجات متفاوتة من الوصول إلى البيانات. تحدد معلمة النطاق المتغير مجموعة الموارد والعمليات التي يوفر الرمز المميز الوصول إليها. عند طلب رمز وصول، يرسل تطبيقك قيمة واحدة أو أكثر إلى معلمة النطاق.
يوجد أدناه النطاق الحالي والقديم لـ AdWords API.
عادةً ما يطلب تطبيق العميل الذي يستخدم AdWords API الوصول دون اتصال بالإنترنت. يمكن أن يحدث هذا إذا كان تطبيقك يحتاج إلى تشغيل مهام مجمعة أثناء قيام المستخدم بتصفح موقعك دون اتصال بالإنترنت.
تستخدم التطبيقات المثبتة الوصول دون اتصال بشكل افتراضي.
يجب أن يتضمن رأس HTTP في كل طلب إلى خادم AdWords API النموذج التالي:
التفويض: حامل THE_ACCESS_TOKEN
POST ... HTTP/1.1 المضيف: ... التفويض: Bearer 1/fFAGRNJru1FTz70BzhT3Zg نوع المحتوى: text/xml;charset=UTF-8 طول المحتوى: ...
في معظم الحالات، يجب تخزين رمز التحديث في مكان آمن لأنه قد تكون هناك حاجة إليه لاحقًا. لمزيد من المعلومات حول طلب الوصول وتحديث الرموز المميزة، راجع الأدلة التالية:
يحتوي رمز الوصول على تاريخ انتهاء صلاحية يعتمد على قيمةنتهي_في . يمكن تحديث رمز الوصول منتهي الصلاحية باستخدام رمز التحديث، لكن مكتبات عملائنا تقوم بذلك تلقائيًا.
ما لم تتم الإشارة إلى خلاف ذلك، فإن محتوى هذه الصفحة مرخص بموجب ترخيص Creative Commons Attribution 3.0، كما يتم ترخيص عينات التعليمات البرمجية بموجب ترخيص Apache 2.0. لمزيد من التفاصيل، انظر لنا. Java هي علامة تجارية مسجلة لشركة Oracle و/أو الشركات التابعة لها.
تم التحديث في 24 سبتمبر 2018