تجاوز إلى المحتوى الرئيسي
Didit تجمع 7.5 مليون دولار لبناء البنية التحتية للهوية والاحتيال
Didit
العودة إلى المدونة
المدونة · 7 مارس 2026

تطبيق تدفق بيانات اعتماد عميل OAuth 2.0 للوصول إلى Didit API باستخدام بايثون (AR)

إتقان مصادقة واجهة برمجة التطبيقات أمر بالغ الأهمية للتكامل الآمن والفعال. يشرح هذا الدليل بالتفصيل كيفية تطبيق تدفق بيانات اعتماد عميل OAuth 2.

بواسطة Diditتحديث
implementing-oauth-2-0-client-credentials-flow-for-didit-api-access-in-python.png

وصول آمن لواجهة برمجة التطبيقاتيعد تطبيق تدفق بيانات اعتماد عميل OAuth 2.0 ضروريًا لتأمين الاتصال من خادم إلى خادم مع Didit API، وحماية بيانات التحقق من الهوية الحساسة.

دليل تطبيق بايثونتقدم هذه المقالة دليلًا خطوة بخطوة باستخدام بايثون، بما في ذلك أمثلة التعليمات البرمجية، للحصول على رموز الوصول وتحديثها لمكالمات Didit API.

فهم تحديد المعدلتعرف على كيفية حماية سياسات تحديد المعدل الخاصة بـ Didit لاستقرار واجهة برمجة التطبيقات وكيفية تطبيق أفضل الممارسات مثل التراجع الأسي لتجنب انقطاع الخدمة.

نهج Didit الموجه للمطورين أولاًتقدم Didit تجربة موجهة للمطورين حقًا مع تسجيل برمجي وواجهات برمجة تطبيقات نظيفة ووثائق شاملة، مما يجعل التكامل مباشرًا وفعالًا.

فهم تدفق بيانات اعتماد عميل OAuth 2.0 للوصول إلى واجهة برمجة التطبيقات

في عالم تكاملات واجهة برمجة التطبيقات، يعد الأمان أمرًا بالغ الأهمية. عندما يحتاج تطبيقك إلى الوصول إلى واجهة برمجة تطبيقات خدمة مباشرة، دون تدخل المستخدم، فإن تدفق بيانات اعتماد عميل OAuth 2.0 هو الطريقة القياسية الصناعية للمصادقة الآمنة. هذا التدفق مثالي للتفاعلات بين الخوادم، أو الخدمات الخلفية، أو الاتصال من جهاز إلى جهاز حيث لا يوجد مستخدم نهائي للموافقة على الوصول إلى البيانات. بدلاً من ذلك، يتم مصادقة التطبيق نفسه باستخدام بيانات الاعتماد الخاصة به.

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

البدء مع Didit: التسجيل واسترداد بيانات الاعتماد

تفتخر Didit بكونها منصة هوية تعتمد على الذكاء الاصطناعي وموجهة للمطورين أولاً. هذا يعني أن البدء مصمم ليكون سلسًا قدر الإمكان، حتى للوصول البرمجي. على عكس العديد من المنصات التي تتطلب تسجيلًا يدويًا عبر المتصفح، تسمح لك Didit بالتسجيل واسترداد بيانات الاعتماد الخاصة بك بمجرد مكالمتين لواجهة برمجة التطبيقات.

أولاً، تبدأ عملية التسجيل، عادةً عن طريق توفير بريد إلكتروني. ترسل Didit بعد ذلك كلمة مرور لمرة واحدة (OTP) إلى هذا البريد الإلكتروني. الخطوة الثانية هي التحقق من هذا البريد الإلكتروني باستخدام رمز OTP. عند التحقق الناجح، تقوم Didit تلقائيًا بإنشاء مؤسسة وتطبيق افتراضي لك، وإرجاع رموز الوصول الخاصة بك، ومعرف العميل، والأهم من ذلك، api_key الخاص بك. يعمل api_key هذا كسري عميل لتدفق بيانات اعتماد العميل ويجب التعامل معه بأقصى سرية.

بدلاً من ذلك، إذا كان لديك بالفعل مؤسسة وتطبيق، يمكنك استرداد بيانات الاعتماد الخاصة بك مباشرةً باستخدام Didit Auth API. على سبيل المثال، سيؤدي استخدام طلب GET إلى /organizations/me/{org_id}/applications/{app_id}/ إلى إرجاع client_id و api_key لتطبيقك. هذا يبسط عملية الإعداد، مما يمكن المطورين من التكامل بسرعة والبدء في الاستفادة من وحدات الهوية المعيارية في Didit.

تطبيق تدفق بيانات اعتماد عميل OAuth 2.0 في بايثون

الآن، دعنا نتعمق في التطبيق العملي للحصول على رمز وصول باستخدام بايثون. الفكرة الأساسية هي إرسال طلب POST إلى نقطة نهاية رمز Didit، وتوفير معرف العميل ومفتاح واجهة برمجة التطبيقات الخاص بك. سيتضمن الرد رمز الوصول الخاص بك ووقت انتهاء صلاحيته.


import requests
import os

# Replace with your actual client_id and api_key
CLIENT_ID = os.environ.get("DIDIT_CLIENT_ID")
API_KEY = os.environ.get("DIDIT_API_KEY") # This is your client_secret

TOKEN_URL = "https://apx.didit.me/auth/v2/oauth2/token"

def get_access_token():
    headers = {
        "Content-Type": "application/x-www-form-urlencoded"
    }
    data = {
        "grant_type": "client_credentials",
        "client_id": CLIENT_ID,
        "client_secret": API_KEY
    }

    try:
        response = requests.post(TOKEN_URL, headers=headers, data=data)
        response.raise_for_status() # Raise an exception for HTTP errors
        token_data = response.json()
        return token_data.get("access_token"), token_data.get("expires_in")
    except requests.exceptions.RequestException as e:
        print(f"Error obtaining access token: {e}")
        return None, None

access_token, expires_in = get_access_token()

if access_token:
    print(f"Successfully obtained access token: {access_token[:30]}...")
    print(f"Token expires in: {expires_in} seconds")

    # Example of using the access token for a subsequent API call
    # (replace with an actual Didit API endpoint and method)
    # API_ENDPOINT = "https://apx.didit.me/api/v2/some-didit-service"
    # auth_headers = {
    #     "Authorization": f"Bearer {access_token}"
    # }
    # try:
    #     api_response = requests.get(API_ENDPOINT, headers=auth_headers)
    #     api_response.raise_for_status()
    #     print("API call successful:", api_response.json())
    # except requests.exceptions.RequestException as e:
    #     print(f"Error making API call: {e}")

يوضح مقتطف بايثون هذا كيفية إجراء طلب POST الضروري. تذكر تخزين CLIENT_ID و API_KEY بأمان، ويفضل استخدام متغيرات البيئة، كما هو موضح في المثال.

إدارة الرموز واعتبارات تحديد المعدل

عادةً ما تكون رموز الوصول قصيرة الأجل لأسباب أمنية. من الأهمية بمكان تنفيذ استراتيجية لتحديث الرموز قبل انتهاء صلاحيتها. يتضمن هذا عادةً تخزين الرمز ووقت انتهاء صلاحيته، ثم طلب رمز جديد عندما يقترب الرمز الحالي من الانتهاء. يخبرك حقل expires_in في استجابة الرمز من Didit بالضبط المدة التي يكون فيها الرمز صالحًا، مما يسمح لك ببناء منطق تحديث قوي.

جانب آخر بالغ الأهمية لتكامل واجهة برمجة التطبيقات هو فهم واحترام قيود المعدل. تفرض Didit، مثل أي واجهة برمجة تطبيقات مصممة جيدًا، قيودًا على المعدل للحفاظ على الاستقرار وضمان الاستخدام العادل. على سبيل المثال، تسمح Didit بشكل عام بـ 300 طلب في الدقيقة لكل تطبيق لكل من نقاط نهاية GET و Write/Delete. بالنسبة للعمليات عالية التأثير، مثل إنشاء الجلسة (POST /v2/session/)، قد تكون هناك قيود محددة وأكثر تقييدًا (على سبيل المثال، 600 طلب في الدقيقة لسير العمل). عندما يتجاوز تطبيقك هذه القيود، ستعيد Didit رمز حالة HTTP 429 Too Many Requests، بالإضافة إلى رؤوس مفيدة مثل X-RateLimit-Limit و X-RateLimit-Remaining و X-RateLimit-Reset (ثواني حقبة) لتوجيه استراتيجية التقييد الخاصة بك. يعد رأس Retry-After مفيدًا بشكل خاص لتطبيق التراجع الأسي، وهي استراتيجية موصى بها للتعامل مع تجاوزات قيود المعدل بشكل رشيق.

يضمن تطبيق الإدارة الصحيحة للرموز والالتزام بقيود المعدل أن يكون تكاملك مع Didit آمنًا وموثوقًا، مما يمنع انقطاع الخدمة غير الضروري.

كيف تساعد Didit

تبسط Didit تحديات التحقق من الهوية المعقدة من خلال منصتها الأصلية القائمة على الذكاء الاصطناعي والموجهة للمطورين أولاً. تسمح لك بنيتنا المعيارية بتوصيل وتشغيل فحوصات الهوية الدقيقة التي تحتاجها، بدءًا من التحقق الشامل من الهوية (بما في ذلك التعرف الضوئي على الحروف OCR، وMRZ، والرموز الشريطية) واكتشاف الحيوية السلبية والنشطة المتقدم لمنع التزييف العميق، إلى مطابقة الوجه 1:1 والبحث عن الوجه للمصادقة البيومترية، وفحص ومراقبة قوية لمكافحة غسل الأموال (AML) للامتثال. تعمل منتجاتنا لإثبات العنوان، وتقدير العمر (الخاص بالخصوصية)، والتحقق من الهاتف والبريد الإلكتروني على تعزيز قدرتك على بناء سير عمل تحقق مخصص.

تتميز Didit بتقديم معرفة العميل الأساسية المجانية (Core KYC)، وإلغاء رسوم الإعداد، وتوفير وحدة تحكم أعمال قوية بدون رمز إلى جانب واجهات برمجة تطبيقات نظيفة للمطورين. تعني هذه المرونة أنه يمكنك دمج Didit في أنظمتك الحالية بسهولة، سواء كنت تفضل التطوير القائم على واجهة برمجة التطبيقات أو منشئ سير عمل مرئي. يضمن التزامنا ببيانات الهوية المنظمة والتصميم العالمي أن تكون عمليات التحقق الخاصة بك فعالة وقابلة للتطوير ومتوافقة في جميع أنحاء العالم. التسجيل البرمجي واسترداد بيانات الاعتماد، كما تم تسليط الضوء عليه في هذا المنشور، هو مجرد مثال واحد على كيفية إعطاء Didit الأولوية لتجربة مطور سلسة، مما يسمح لك بالتركيز على البناء بدلاً من التنقل في عقبات المصادقة المعقدة.

هل أنت مستعد للبدء؟

هل أنت مستعد لرؤية Didit في العمل؟ احصل على عرض توضيحي مجاني اليوم.

ابدأ في التحقق من الهويات مجانًا باستخدام الطبقة المجانية من Didit.

بنية تحتية للهوية والاحتيال.

واجهة برمجية واحدة لـ KYC و KYB ومراقبة المعاملات وفحص المحافظ. ادمجها في 5 دقائق.

اطلب من الذكاء الاصطناعي تلخيص هذه الصفحة
بيانات اعتماد عميل OAuth 2.0 لـ Didit API في بايثون.