كيفية تسجيل خروج المستخدم عبر واجهة برمجة التطبيقات

بينما أحاول تسجيل خروج المستخدم عبر واجهة برمجة التطبيقات، ولكن دون نجاح،

لقد قرأت SSO Logout via Master API Key isn't working - #2 by simon

لقد تم تعيين اسم المستخدم ومفتاح واجهة برمجة التطبيقات في رؤوس طلباتي بواسطة httpclient، وهي تعمل مع إعدادات أخرى مثل post get user by external id أو غيرها.

هل أحتاج إلى إرسال مفتاح واجهة برمجة التطبيقات واسم مستخدم واجهة برمجة التطبيقات في نص الطلب أيضًا؟

يتم تسجيل دخول المستخدمين عبر sso، وعندما أقوم بتسجيل خروج المستخدم من صفحة المسؤول في discourse، فإنها تعمل.

إليك جزء من الكود الذي أحاول استدعاءه به

var formData = new FormUrlEncodedContent(new
{
new KeyValuePair<string, string>(“username_or_email”, user.user.username)
});
var response = await _httpClient.PostAsync($“/admin/users/{user.user.id}/log_out”, formData);
var content = await response.Content.ReadAsStringAsync();

تُرجع الاستجابة رمز 200 ولكن المحتوى عبارة عن صفحة ويب وليست {Succes: “OK” }

اعتذر عن فتح الموضوع.

كانت المشكلة أن إعداد التطوير الخاص بي يشير إلى مثيل http وليس https لـ discourse.

عندما تحولت إلى نقطة نهاية https، بدأ العمل.

لقد ارتبكت لأن بعض نقاط نهاية واجهة برمجة التطبيقات تعمل عبر http ولكن هذه النقطة لا تعمل.

للقراء المستقبليين، إليك كيفية تسجيل خروج المستخدمين باستخدام C#

             var url = $\"/admin/users/{user.user.id}/log_out\";
            using var formData = new MultipartFormDataContent{
{ new StringContent(_forumConfigModel.ApiKey), “api_key” },
{ new StringContent(_forumConfigModel.User), “api_username” }
};

var response = await _httpClient.PostAsync(url, formData);
إعجابَين (2)