Grafana: لا تزال مفاتيح Grafana منتهية الصلاحية موجودة في الأثير (أو ربما في قاعدة البيانات)

تم إنشاؤها على ٢٣ سبتمبر ٢٠١٩  ·  3تعليقات  ·  مصدر: grafana/grafana

أشعر بالارتباك تجاه العملية التي يستخدمها Grafana للرموز منتهية الصلاحية. من وثائق Grafana API ، يسمح لك الحقل secondsToLive في طلب راحة إنشاء مفتاح API بتعيين انتهاء صلاحية للمفاتيح الجديدة.

curl 
  -X POST 
  -H "Content-Type: application/json" 
  -d '{
    "name":"testKey",
    "role":"Admin",
    "secondsToLive":60
  }' 
  http://removed:forsecurity<strong i="7">@localhost</strong>:3000/api/auth/keys

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

ما أراه في الواقع هو أن المفتاح قد انتهت صلاحيته ، وتمت إزالة المفتاح من واجهة المستخدم ، ولم يعد من الممكن إنشاء مفتاح آخر بهذا الاسم "testKey".

هل هذا سلوك طبيعي مع إنشاء مفتاح API؟ أعتقد أن هذا سيكون كسرًا لواجهة API العامة. هل ربما يكون شيئًا خاصًا بتطبيق Grafana لمفاتيح API؟

فيما يلي مثال على الاستجابة من الخادم عند تقديم طلب لمفتاح انتهت صلاحيته ولم يعد موجودًا في واجهة المستخدم.

{"message":"Failed to add API key"}

إذا حذفت المفتاح (من خلال واجهة برمجة التطبيقات أو واجهة المستخدم) قبل انتهاء صلاحيته ، يمكنني إنشاء المفتاح مرة أخرى بدون مشكلة.

عندما أحاول عرض المفاتيح الموجودة حاليًا في النظام ، أتلقى قائمة فارغة.

curl -X GET -H "Content-Type: application/json" http://removed:forsecurity<strong i="18">@localhost</strong>:3000/api/auth/keys
[]

إذا حذفت المفتاح من خلال واجهة برمجة التطبيقات بعد انتهاء الصلاحية (لا يمكنني القيام بذلك من خلال واجهة المستخدم لأنه لم يعد يظهر هناك) ، فأنا قادر على إنشاء المفتاح مرة أخرى.

إذا كانت المفاتيح لا تزال موجودة في قاعدة البيانات بحالة منتهية الصلاحية ، فأنا أرغب في خيار عرضها في واجهة المستخدم. أود أيضًا أن يتم الإبلاغ عنها في استدعاء واجهة برمجة التطبيقات لقائمة المفاتيح مع حقل لحالة انتهاء الصلاحية.

يرجى إعلامي إذا كنت بحاجة إلى أي معلومات إضافية مني. نأمل ألا تكون هذه مشكلة مكررة.

arebackenapi arebackenauth typbug

التعليق الأكثر فائدة

لا ينبغي أن تؤخذ المفاتيح منتهية الصلاحية في الاعتبار أثناء إنشاء مفتاح api

أعتقد أنهم يجب / يحتاجون إلى. الاسم جزء من فهرس فريد.

حلين
1) التنظيف التلقائي (إزالة من db) المفاتيح منتهية الصلاحية
2) إظهار المفاتيح منتهية الصلاحية في القائمة والسماح لمسؤول المؤسسة بإزالتها يدويًا.

ال 3 كومينتر

@ 5w3rv05 يبدو هذا وكأنه خطأ بالنسبة لي ، لكنني بحاجة إلى التحقق مع من ينفذه إذا تم اختيار التنفيذ لسبب خاص.

لقد تحققت من ذلك ، إنه خطأ: يجب عدم أخذ المفاتيح منتهية الصلاحية في الاعتبار أثناء إنشاء مفتاح api.
أيضًا ، يجب أن تعيد استدعاء واجهة برمجة التطبيقات لإدراج مفاتيح واجهة برمجة التطبيقات أيضًا المفاتيح منتهية الصلاحية بشكل اختياري.

لا ينبغي أن تؤخذ المفاتيح منتهية الصلاحية في الاعتبار أثناء إنشاء مفتاح api

أعتقد أنهم يجب / يحتاجون إلى. الاسم جزء من فهرس فريد.

حلين
1) التنظيف التلقائي (إزالة من db) المفاتيح منتهية الصلاحية
2) إظهار المفاتيح منتهية الصلاحية في القائمة والسماح لمسؤول المؤسسة بإزالتها يدويًا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات