Grafanaが期限切れのトークンに使用しているプロセスに混乱しています。 Grafana APIドキュメントから、APIキー作成RESTリクエストのフィールドsecondsToLiveを使用すると、新しいキーの有効期限を設定できます。
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
この例は、私がどのように実装しているかを示しています。 1分後、キーの有効期限が切れ、UIからキーが削除され、キーを再度作成できるようになると思います。
私が実際に目にしているのは、キーの有効期限が切れており、そのキーがUIから削除されており、「testKey」という名前の別のキーを作成できなくなっていることです。
これは、APIキーの作成での通常の動作ですか? これは、一般向けのAPIにとっては問題になると思います。 それはおそらくAPIキーのGrafana実装に固有のものですか?
これは、有効期限が切れてUIに存在しなくなったキーに対してリクエストが行われたときのサーバーからの応答の例です。
{"message":"Failed to add API key"}
有効期限が切れる前に(APIまたはUIのいずれかを介して)キーを削除すると、問題なくキーを再作成できます。
システムに現在存在するキーを表示しようとすると、空のリストが表示されます。
curl -X GET -H "Content-Type: application/json" http://removed:forsecurity<strong i="18">@localhost</strong>:3000/api/auth/keys
[]
有効期限が切れた後にAPIを介してキーを削除すると(UIに表示されなくなったため、UIを介して削除することはできません)、キーを再度作成できます。
キーが期限切れの状態でデータベースにまだ存在する場合は、UIでキーを表示するオプションが必要です。 また、有効期限ステータスのフィールドを持つキーを一覧表示するAPI呼び出しでそれらを報告することを希望します。
私からの追加情報が必要な場合はお知らせください。 うまくいけば、これは重複した問題ではありません。
@ 5w3rv05これは私にはバグのように聞こえますが、特別な理由で実装が選択されたかどうかを実装者に確認する必要があります。
私はそれを確認しました、それはバグです:APIキーの作成中に期限切れのキーを考慮に入れるべきではありません。
また、APIキーを一覧表示するためのAPI呼び出しは、オプションで期限切れのキーも返す必要があります。
期限切れのキーは、APIキーの作成時に考慮されるべきではありません
私は彼らがすべき/する必要があると思います。 名前は一意のインデックスの一部です。
2つのソリューション
1)期限切れのキーを自動的にクリーンアップ(dbから削除)
2)期限切れのキーをリストに表示し、組織管理者に手動で削除させます。
最も参考になるコメント
私は彼らがすべき/する必要があると思います。 名前は一意のインデックスの一部です。
2つのソリューション
1)期限切れのキーを自動的にクリーンアップ(dbから削除)
2)期限切れのキーをリストに表示し、組織管理者に手動で削除させます。