I have an app that relies on several OAuth2 providers to poll for background data on behalf of users, as a background process. As a matter of best-practice, I'd like to periodically cycle my client secrets.
The OAuth2 providers I'm using (and every OAuth2 provider I've ever seen) will allow me to re-generate a key/secret pair, but will not allow me to create a second pair. If I re-generate my secret, there will necessarily be downtime, because the existing key will be invalidated and the app won't know about the new secret yet.
I can't work around this by creating a new OAuth2 relationship, because I would lose all of my permissions to poll data on behalf of my existing users.
How can an application cycle OAuth2 keys without downtime?