إنشاء مستخدم عبر REST-API لا يبدو أنه يعمل

مرحباً،

لقد قمت بإنشاء مستخدم جديد باستخدام واجهة برمجة تطبيقات REST.

ولكنني غير قادر على تسجيل الدخول باستخدام بيانات اعتماد المستخدم الجديد. عندما أبحث في جدول المستخدمين، لا يمكنني العثور على حساب المستخدم.

لاستكشاف المشكلة وإصلاحها، قمت بتشغيل أمر CURL التالي.

لقد حاولت أيضًا استخدام حمولة JSON مع أمر CURL.

أحصل على نفس النتيجة في كلتا الحالتين: لا يمكنني تسجيل الدخول باستخدام بيانات اعتماد المستخدم الجديد ولا يتم العثور على المستخدم الجديد في جدول المستخدمين.

أي أفكار؟

شكراً

الرسالة هنا مضللة إلى حد ما؛ active:false تشير إلى أن المستخدم لم يتم إنشاؤه ولكنه كان موجودًا بالفعل.

تحقق للتأكد من عدم وجود مستخدم بنفس عنوان البريد الإلكتروني بالفعل، خاصة إذا كان normalize_emails ممكّنًا.

3 إعجابات

يبدو مشابهًا لـ User creation API: ‘active’ attribute set to True but returns False in response

4 إعجابات

أدركت وجود خطأ في وثائق واجهة برمجة التطبيقات الخاصة بنا. يُسمح بمعامل active فقط عند استخدام مفتاح واجهة برمجة تطبيقات مرتبط بمستخدم مسؤول وقد كان هذه هي الحالة منذ عام 2016.

حتى الآن، قمت بتصحيح الوثائق في

4 إعجابات

هذا سيساعد، نعم.

لا يزال هذا لا يعالج المشكلة الأصلية المتمثلة في أن الرسالة مضللة للمسؤولين.

○ → curl -X POST -H "api-key: $API_KEY" -H 'api-username: michael' https://try.discourse.org/users.json --json "$(jo email=michael+test@contoso.com username=michaeltest password=$PASSWORD active=true approved=true)"
{"success":true,"active":true,"message":"Your account is activated and ready to use."}

○ → curl -X POST -H "api-key: $API_KEY" -H 'api-username: michael' https://try.discourse.org/users.json --json "$(jo email=michael+test2@contoso.com username=michaeltest2 password=$PASSWORD active=true approved=true)"
{"success":true,"active":false,"message":"Your account is activated and ready to use."}

^ تم إنشاء مستخدم واحد فقط أعلاه

أنا أستنتج أن الكثير من التعتيم تم وضعه في المسار /users.json لردع البريد العشوائي وما إلى ذلك، ولكن هذا يبدو أنه يجعل الأمور صعبة على المسؤولين أيضًا. أتساءل عما إذا كان ينبغي علينا إضافة مسار مسؤول صريح للفصل بين الاثنين (إنشاء حساب عادي مقابل إنشاء حساب مسؤول) والذي سيسمح بوظيفة المسؤول غير المعتمة.

إعجاب واحد (1)

[اقتباس=“مايكل براون، المشاركة: 2، الموضوع: 355112، اسم المستخدم: supermathie”]
تحقق للتأكد من عدم وجود مستخدم بالفعل لديه نفس عنوان البريد الإلكتروني، خاصةً إذا كان normalize_emails ممكّنًا.
[/اقتباس]

أنت على حق. كانت هذه هي المشكلة: يوجد بالفعل مستخدم لديه نفس عنوان البريد الإلكتروني.

كنت أبحث عن طريق اسم المستخدم وعن طريق created_at desc، وهذا هو السبب في عدم ظهور المستخدم الجديد في نتائج البحث.

الاستجابة الناجحة أربكتني.

شكرا لك على مساعدتك.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.