Important
This repository is now archived due to new functionality being added to the AWS CLI.
Please update your CLI to the latest version and use aws sso login --profile <profile_name>
Additional details are available here.
When using aws sso login
on AWS CLI v2
as of July 27th, 2020, the credentials are stored so they will work with the CLI
itself (v2) but don't work on the AWS SDKs and other tools that expect credentials
to be readable from ~/.aws/credentials
(v1).
This package aims to streamline updating the AWS credentials file for AWS SSO¹
users by updating/creating the corresponding profile section in ~/.aws/credentials
with
temporary role credentials. Once a solution is implemented in AWS CLI v2, this
repo will be archived.
¹Renamed to IAM Identity Center as of July 26th, 2022.
Note
As of December 2022, profiles configured with an SSO Session Name using the AWS CLI v2.8.2 or later have added functionality for the AWS SDKs to use SSO credentials without them being present in the
~/.aws/credentials
file.This project will continue to be maintained and currently supports both legacy and new profile formats, since I'm currently not aware if all third party AWS tools have made changes required adopted this change.
See SSO token provider configuration with automatic authentication refresh for additional details.
npm install -g aws-sso-creds-helper
Note: If you have not configured your AWS CLI to use SSO for your profile, follow the instructions here.
Usage: ssocreds [options]
Options:
-V, --version output the version number
-p, --profile <profile> profile to use for obtaining sso credentials (default: "default")
-d, --debug enables verbose logging (default: false)
-v, --verbose enables verbose logging (default: false)
-u, --use-proxy flag for the aws sdk to use HTTPS_PROXY found in env (default: false)
-h, --help display help for command
Example:
$ ssocreds -p my-profile
[aws-sso-creds-helper]: Getting SSO credentials for profile my-profile
[aws-sso-creds-helper]: Successfully loaded SSO credentials for profile my-profile
or create an alias in your shell containing
alias awsmyprofile="ssocreds -p my-profile"
or combine with a profile switching script if you use multiple profiles to switch profiles and then grab the credentials in one command
alias awsmyprofile="awsp my-profile && ssocreds -p my-profile"
Thanks goes to these wonderful people (emoji key):
Ryan Sonshine 💻 |
Steven Tobias 💻 |
sclarson 💻 |
Cole Siegel 🐛 |
Rinaldi Utomo 🐛 |
diogo 🐛 |
Caleb Hill 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!