synfinatic / aws-sso-cli

A powerful tool for using AWS Identity Center for the CLI and web console.
https://synfinatic.github.io/aws-sso-cli/
GNU General Public License v3.0
457 stars 56 forks source link

AWS_SSO_SESSION_DURATION should use RFC3339 format #837

Closed arkanes closed 4 months ago

arkanes commented 5 months ago

Is your feature request related to a problem? Please describe. AWS_SSO_SESSION_EXPIRATION just uses Time.String to format the timestamp. This is not in a standardized format, and per the documentation for Time.String, should only be used for debugging.

Awsume and aws-vault use RFC3339 formatted strings for their equivalent environment variables, e.g. 2024-04-19T12:43:38-07:00

Describe the solution you'd like Setting the value of AWS_SSO_SESSION_EXPIRATION to be formatted using RFC3339

Describe alternatives you've considered if there are backwards compatibility concerns, a flag to opt into this behavior, and/or setting an additional environment variable in this format should address them

Additional context Add any other context or screenshots about the feature request here.

synfinatic commented 5 months ago

Are you trying to parse the timestamp in code or is this in your opinion a question of human readability? Or is it just you like RFC's? :D

cmellongoempyrean commented 5 months ago

The initial motivation is adding support for session expiration to https://starship.rs/config/#aws, but I do like RFCs

(oops I accidentally posted this on my work acct not my personal one, but I am the OP)

synfinatic commented 5 months ago

Is epoch seconds viable? I ask, because parsing epoch seconds tends to be the lowest common denominator for the date command and every language under the sun. Originally, I almost used that, but it tends to be painful for humans.

arkanes commented 5 months ago

RFC3339 is what the other tools in this space (awsume, aws-vault) use, so that's why I asked for that format specifically. I'm more than happy to do a PR to implement if that's a concern.