FEATURE: Overhaul of admin API key system (#8284)

- Allow revoking keys without deleting them
- Auto-revoke keys after a period of no use (default 6 months)
- Allow multiple keys per user
- Allow attaching a description to each key, for easier auditing
- Log changes to keys in the staff action log
- Move all key management to one place, and improve the UI
This commit is contained in:
David Taylor
2019-11-05 14:10:23 +00:00
committed by GitHub
parent fa2c06da93
commit 52c5cf33f8
46 changed files with 863 additions and 395 deletions

View File

@ -4,7 +4,6 @@ import { ajax } from "discourse/lib/ajax";
import computed from "ember-addons/ember-computed-decorators";
import { propertyNotEqual } from "discourse/lib/computed";
import { popupAjaxError } from "discourse/lib/ajax-error";
import ApiKey from "admin/models/api-key";
import Group from "discourse/models/group";
import { userPath } from "discourse/lib/url";
@ -57,16 +56,6 @@ const AdminUser = Discourse.User.extend({
);
},
generateApiKey() {
return ajax(`/admin/users/${this.id}/generate_api_key`, {
type: "POST"
}).then(result => {
const apiKey = ApiKey.create(result.api_key);
this.set("api_key", apiKey);
return apiKey;
});
},
groupAdded(added) {
return ajax(`/admin/users/${this.id}/groups`, {
type: "POST",