I'm designing a dashboard for a web app that also allows API access. I got stuck while designing the API keys screen (used to generate .. well, API Keys).
See, there are 2 different states for API keys: live
and test
.
There are also 2 different types of keys: public
(client side) and secret
(server side).
That's 4 permutations so far.
A user can also have multiple API keys per account, which means if they had 2 sets of keys for two different clients .. that amount to a total of 2 x 4 = 8
keys.
Oh, and the user may need to force a key to expire if it's been compromised .. so there needs to be some sort of expire
function thrown in there .. or perhaps a refresh
option to regenerate the affected key.
Here's what I've sketched so far:
This works for just 1 set of keys (the 4 types). Would love your suggestions on how to extend this (or improve it) to cover different sets of keys for multiple API clients.
Edit: Version 1 (Inspired by Benny's answer below)
The keys are grouped by client, similar to the way Facebook groups the login session by device type. Would love feedback / suggestions on ways to improve this.