-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhanced refresh token config #799
Comments
I'd say for service accounts this is ok, since you can in any case revoke the RT. For end-users we probably would want the user to prove they're still around periodically. The RT lifetime can be used to enforce that, but it could be another timescale too. |
If the account that authorized the refresh-token is disabled, i would expect all associated tokens to become invalid. |
That sounds reasonable. The question is whether it's not really the same as having (configurable) a non-expiring RT (i.e. RT with infinite lifetime) for those use-cases? The latter would probably be a lot easier to implement? |
Our thinking is that a 30-day refresh token with a special mechanism for renewal would be a bit more secure than an infinite-lifetime refresh token and also more in line with the refresh token recommendations.
|
It would protect for certain scenarios but also introduce new weaknesses. In general, using non-standard mechanisms (automatically refreshing in the background) is making it harder to follow what is going on and not a good idea from a security perspective. |
I think you misunderstand, it's not a refresh in the background, non-standard mechanism, etc.m simply a different trigger for the existing auto-rotate.
|
True, I'm probably discussing a slightly different issue than what you described so perhaps this is more for the TTT WG. |
CMS plans to use HashiCorp Vault to securely stores long-lifetime credentials. Refresh-tokens from IAM would be stored in the vault. To avoid re-authorization after the refresh-token lifetime expires, we like to refresh the refresh-token before their expiration (once they fall below the maximum expected job queuing plus execution time). We don't want to refresh the refresh-token on each access-token request to limit IAM operation. (There could be many access-tokens acquired from a refresh-token.)
We like to ask for a new refresh-token config option that auto-rotates/refreshes a refresh-token when the remaining lifetime drops below a minimum. (In addition to the current auto-rotate/refresh on access-token request.)
It would be also nice to have a refresh-token config option to explicitly allow refresh-token lifetimes beyond the lifetime of the initial refresh-token. (The current maximum refresh-token lifetime would still apply to each refresh-token.)
Thanks,
The text was updated successfully, but these errors were encountered: