# تفويض تطبيقات Rememberizer

يدعم تنفيذ Rememberizer نوع منح الشيفرة القياسية [authorization code grant type](https://tools.ietf.org/html/rfc6749#section-4.1).

تدفق تطبيق الويب لتفويض المستخدمين لتطبيقك هو كما يلي:

1. يتم إعادة توجيه المستخدمين إلى Rememberizer لتفويض حسابهم.
2. يختار المستخدم الميموريات لاستخدامها مع تطبيقك.
3. يصل تطبيقك إلى واجهة برمجة التطبيقات باستخدام رمز الوصول الخاص بالمستخدم.

قم بزيارة صفحة [#explore-third-party-apps-and-service](https://docs.rememberizer.ai/ar/alastkhdam-alshkhsy/integrations/manage-third-party-apps#explore-third-party-apps-and-service "mention") لرؤية مثال واجهة المستخدم للتدفق.

قريباً: مخطط تدفق تفويض OAuth2

سيوضح هذا المخطط التسلسلي تدفق OAuth2 الكامل بين:

* متصفح المستخدم
* تطبيقك (العميل)
* خادم تفويض Rememberizer
* موارد واجهة برمجة تطبيقات Rememberizer

سيظهر المخطط تبادل رموز التفويض، الرموز، وطلبات واجهة برمجة التطبيقات عبر جميع خطوات العملية.

### الخطوة 1. طلب هوية مستخدم Rememberizer

قم بإعادة توجيه المستخدم إلى خادم تفويض Rememberizer لبدء عملية المصادقة والتفويض.

```
GET https://api.rememberizer.ai/api/v1/auth/oauth2/authorize/
```

المعلمات:

<table><thead><tr><th width="236">الاسم</th><th>الوصف</th></tr></thead><tbody><tr><td>client_id</td><td><strong>مطلوب</strong><br>معرف العميل لتطبيقك. يمكنك العثور على هذه القيمة في قسم المطور. انقر على <strong>المطور</strong> في الزاوية العليا اليسرى. في قائمة التطبيقات المسجلة، انقر على تطبيقك وسترى معرف العميل في <strong>بيانات اعتماد التطبيق.</strong></td></tr><tr><td>response_type</td><td><strong>مطلوب</strong><br>يجب أن يكون <code>code</code> لمنح رموز التفويض.</td></tr><tr><td>scope</td><td><p><strong>اختياري</strong></p><p>قائمة مفصولة بمسافات من النطاقات التي تحدد الموارد التي يمكن لتطبيقك الوصول إليها نيابة عن المستخدم.</p></td></tr><tr><td>redirect_uri</td><td><strong>مطلوب</strong><br>عنوان URL في تطبيقك حيث سيتم إرسال المستخدمين بعد التفويض.</td></tr><tr><td>state</td><td><p><strong>مطلوب</strong></p><p>قيمة غير شفافة يستخدمها العميل للحفاظ على الحالة بين الطلب والرد. يتضمن خادم التفويض هذه القيمة عند إعادة توجيه وكيل المستخدم مرة أخرى إلى العميل.<br></p></td></tr></tbody></table>

### الخطوة 2. يختار المستخدمون ويقومون بتكوين تذكاراتهم

سيختار المستخدمون التذكارات التي سيستخدمونها مع تطبيقك.

### الخطوة 3. يتم إعادة توجيه المستخدمين إلى موقعك بواسطة Rememberizer

بعد أن يختار المستخدمون تذكاراتهم، يقوم Rememberizer بإعادة التوجيه إلى موقعك مع معلمة `code` مؤقتة بالإضافة إلى الحالة التي قدمتها في الخطوة السابقة في معلمة `state`. ستنتهي صلاحية الرمز المؤقت بعد فترة قصيرة. إذا لم تتطابق الحالات، فقد أنشأ طرف ثالث الطلب، ويجب عليك إلغاء العملية.

### الخطوة 4. تبادل رمز التفويض للحصول على رموز التحديث والوصول

```
POST https://api.rememberizer.ai/api/v1/auth/oauth2/token/
```

تأخذ هذه النقطة النهاية المعلمات المدخلة التالية.

<table><thead><tr><th width="165">الاسم</th><th>الوصف</th></tr></thead><tbody><tr><td>client_id</td><td><strong>مطلوب</strong><br>معرف العميل لتطبيقك. يمكنك العثور على هذه القيمة في قسم المطور. التعليمات للعثور على هذا المعرف موجودة في الخطوة 1.</td></tr><tr><td>client_secret</td><td><strong>مطلوب</strong><br>السر الخاص بالعميل الذي تلقيته من Rememberizer لتطبيقك.</td></tr><tr><td>code</td><td>رمز التفويض الذي تلقيته في الخطوة 3.</td></tr><tr><td>redirect_uri</td><td><strong>مطلوب</strong><br>عنوان URL في تطبيقك حيث يتم إرسال المستخدمين بعد التفويض. يجب أن يتطابق مع redirect_uri في الخطوة 1.</td></tr></tbody></table>

### الخطوة 5. استخدم رمز الوصول للوصول إلى واجهة برمجة التطبيقات

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

```
Authorization: Bearer OAUTH-TOKEN
GET https://api.rememberizer.ai/api/me/
```

على سبيل المثال، في curl يمكنك تعيين رأس التفويض بهذه الطريقة:

```shell
curl -H "Authorization: Bearer OAUTH-TOKEN" https://api.rememberizer.ai/api/me/
```

## المراجع

جيثاب: <https://github.com/skydeckai/rememberizer-integration-samples>
