هل توجد طريقة لإدراج صف داخل جدول user_associated_account من خلال واجهة برمجة التطبيقات (REST API)؟
لأعطيك بعض السياق، أحتاج إلى القدرة على إنشاء مستخدمين في مثيل Discourse الخاص بنا وربطهم بمزود OAuth2 الخاص بنا. عندما يسجل المستخدمون الدخول من واجهة مستخدم Discourse (عبر إضافة OAuth2 Basic)، يتم ربط حساباتهم ويمكنني الحصول على معرف المستخدم في Discourse من معرفهم الخارجي باستخدام GET /u/by-external/oauth2_basic/{external_uid}.
ومع ذلك، عندما ننشئ مستخدمين عبر واجهة برمجة التطبيقات (POST /users.json)، لا أرى أي طريقة لربط حساباتهم بحسابات OAuth2 المقابلة لهم (إذا لم يسجلوا الدخول يدويًا في Discourse).
للعلم، نفذت إضافة OAuth2 Basic نظام Auth::ManagedAuthenticator الجديد: Move to ManagedAuthenticator by angusmcleod · Pull Request #21 · discourse/discourse-oauth2-basic · GitHub
ما حاولت فعله:
- راجعت وثائق واجهة برمجة التطبيقات ولم أجد أي تلميح.
- عثرت على مسار واجهة برمجة التطبيقات الذي يُستدعى للحصول على الحسابات المرتبطة لمستخدم واحد:
GET /u/{username}/emails.json. لكن يبدو أن هذا المسار لا يدعم طريقة HTTPPUTولا يعرض الحقول من جدولuser_associated_accounts(provider_name،provider_uid، وuser_id). - راجعت أيضًا إعدادات Discourse لمعرفة ما إذا كان هناك أي شيء يتعلق بهذه المشكلة دون جدوى.
- تحققت من موقع meta.discourse.org ولم أجد حلاً.
أي مساعدة مُقدَّرة جدًا! شكرًا لك ![]()