ShareAI Platform Docs

تفويض العميل باستخدام PKCE

تنفيذ تدفق رمز التفويض لـ ShareAI باستخدام S256 PKCE، تحقق من الحالة واستبدل الرمز في الواجهة الخلفية لتطبيقك.

عرض كـ Markdown
في هذه الصفحة

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

قبل أن تبدأ#

إكمال تسجيل التطبيق. تحتاج إلى استدعاء مسجل دقيق، بيانات اعتماد العميل المحفوظة على الخادم، وجلسة خادم جانبية للمتصفح الذي يكمل التفويض.

1. إنشاء طلب التفويض#

GET https://auth.shareai.now/oauth/authorize

اطلب من العميل تفويض التطبيق.

عنوان URL الأساسي
https://auth.shareai.now
المصادقة
إعادة توجيه المتصفح؛ التطبيق المسجل

قم بإنشاء مُحقق جديد، وحالة، ورمز nonce لكل محاولة. قم بتخزينها في جلسة الخادم الجانبية للمستخدم الذي بدأ العملية. أرسل تحدي SHA-256، وليس المُحقق، في إعادة توجيه المتصفح. اطلب فقط النطاقات التي يحتاجها تطبيقك.

Python

import base64
import hashlib
import secrets
import urllib.parse

verifier = secrets.token_urlsafe(48)
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).rstrip(b"=").decode()
state = secrets.token_urlsafe(32)
nonce = secrets.token_urlsafe(32)
# Store verifier, state and nonce in the user's server-side session.
params = {
    "response_type": "code",
    "client_id": "YOUR_CLIENT_ID",
    "redirect_uri": "https://app.example.com/auth/shareai/callback",
    "scope": "openid profile surcharge",
    "state": state,
    "nonce": nonce,
    "code_challenge": challenge,
    "code_challenge_method": "S256",
}
print("https://auth.shareai.now/oauth/authorize?" + urllib.parse.urlencode(params))

2. التحقق من الاستدعاء#

إذا تم رفض التفويض، تعامل مع خطأ OAuth كإلغاء عادي. وإلا قارن القيمة المُعادة state مع القيمة المحفوظة قبل استخدام الرمز. ارفض الحالة المفقودة أو غير المتطابقة. استخدم الحالة المحفوظة مرة واحدة؛ لا تقبل عناوين URL للاستدعاء التي يتم إرسالها من جلسة متصفح أخرى.

3. استبدال الرمز#

POST https://auth.shareai.now/oauth/token

استبدل رمز الاستخدام الواحد والمحقق المطابق لـ PKCE.

عنوان URL الأساسي
https://auth.shareai.now
المصادقة
مصادقة العميل السري

cURL

curl --fail-with-body "https://auth.shareai.now/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "grant_type=authorization_code" \
  --data-urlencode "client_id=$SHAREAI_CLIENT_ID" \
  --data-urlencode "client_secret=$SHAREAI_CLIENT_SECRET" \
  --data-urlencode "code=$AUTHORIZATION_CODE" \
  --data-urlencode "redirect_uri=https://app.example.com/auth/shareai/callback" \
  --data-urlencode "code_verifier=$PKCE_VERIFIER"

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

4. تخزين النتيجة وإنشاء جلسة التطبيق الخاصة بك#

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

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

التحديث والتدوير · النطاقات وهوية الحساب · طلبات دردشة OAuth

آخر تحديث سبتمبر 15, 2026

مستندات منصة ShareAI
جميع المستندات

البحث حسب العنوان أو المحتوى.

اسأل عن هذه الصفحة

اختر مساعدًا لاستكشاف هذه الصفحة. يمكنك أيضًا نسخ الصفحة ولصقها في محادثتك.

Ask ChatGPTAsk ClaudeAsk GrokAsk ShareAI