أحصل على نفس النتيجة في كلتا الحالتين: لا يمكنني تسجيل الدخول باستخدام بيانات اعتماد المستخدم الجديد ولا يتم العثور على المستخدم الجديد في جدول المستخدمين.
أدركت وجود خطأ في وثائق واجهة برمجة التطبيقات الخاصة بنا. يُسمح بمعامل active فقط عند استخدام مفتاح واجهة برمجة تطبيقات مرتبط بمستخدم مسؤول وقد كان هذه هي الحالة منذ عام 2016.
لا يزال هذا لا يعالج المشكلة الأصلية المتمثلة في أن الرسالة مضللة للمسؤولين.
○ → 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 لردع البريد العشوائي وما إلى ذلك، ولكن هذا يبدو أنه يجعل الأمور صعبة على المسؤولين أيضًا. أتساءل عما إذا كان ينبغي علينا إضافة مسار مسؤول صريح للفصل بين الاثنين (إنشاء حساب عادي مقابل إنشاء حساب مسؤول) والذي سيسمح بوظيفة المسؤول غير المعتمة.
[اقتباس=“مايكل براون، المشاركة: 2، الموضوع: 355112، اسم المستخدم: supermathie”]
تحقق للتأكد من عدم وجود مستخدم بالفعل لديه نفس عنوان البريد الإلكتروني، خاصةً إذا كان normalize_emails ممكّنًا.
[/اقتباس]
أنت على حق. كانت هذه هي المشكلة: يوجد بالفعل مستخدم لديه نفس عنوان البريد الإلكتروني.
كنت أبحث عن طريق اسم المستخدم وعن طريق created_at desc، وهذا هو السبب في عدم ظهور المستخدم الجديد في نتائج البحث.