Package: auther
autherAuther is a CLI tool which authenticates your AWS CLI using various identity providers - all in one tool!Currently supported Identity ProvidersAzure Active Directory -azureadInstallationPip$pipinstallautherFurther info onPyPi.Docker$dockerrun-it--rm-v~/.aws:/root/.awstrewq34/autherWhen looking at usage information, the above command is a direct replacement forauther. Although you may wish to create a command alias with your chosen shell for ease.Further info onDocker Hub.UsageConfigureBefore usingautherto authenticate your AWS CLI, you need to configure it. This can be done quite usingauther configure#Usesthedefaultoptions,mostimportantly:AWSconfigfilepath,AWSregion,AWSprofileandAutherprovider$autherconfigureYour Azure AD Tenant ID: 30e04ef1-fb0d-4844-87a5-8720745de01bYour Azure AD Application ID: 94ab3a5d-1b99-416a-bcaf-669f7b6bcabaThe username you use to sign in: someone@company.comIf you need to use a different AWS CLI profile or AWS region, you can override these by passing in options to theconfigurecommand$autherconfigure--profilesaml--regionus-east-1This will create/update a CLI profile calledsamlfor use in theus-east-1region.For all available configuration options and their defaults, you can use the following command$autherconfigure--helpLoginOnce you have configured your AWS CLI profile for use withautherfor authentication, you can login simply using the following command#Usesthedefaultoptions,mostimportantly:AWSconfigfilepath,AWScredentialfilepath,AWSprofileandAutherprovider$autherloginIf you wish to override override any of the defaults, you can do so by passing in options to thelogincommand. A list of available options and their defailts is available using the following command$autherlogin--helpTroubleshootingChromium failed to downloadA common cause for this is a corporate proxy/firewall blocking such downloads. To work around this, you can set theAUTHER_CHROME_BINenvironment variable pointing to your preinstalled Google Chrome, Chromium or Microsoft Edge installation (this will probably work with other Chromium based browsers too, although hasn't been tested).Some examples per OS can be seen belowmacOS#GoogleChrome$exportAUTHER_CHROME_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"#MicrosoftEdge$exportAUTHER_CHROME_BIN="/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"#Chromium$exportAUTHER_CHROME_BIN="/Applications/Chromium.app/Contents/MacOS/Chromium"Windows# Google ChromePSC:\Users\username>$env:AUTHER_CHROME_BIN="C:\Program Files\Google\Chrome\Application\chrome.exe"# Microsoft EdgePSC:\Users\username>$env:AUTHER_CHROME_BIN="C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"# Chromium - this depends on how you installed it. Assuming you installed it the same way I did, the path will bePSC:\Users\username>$env:AUTHER_CHROME_BIN="C:\Users\username\AppData\Local\Chromium\Application\chrome.exe"LinuxThis will vary vastly depending on which distro you use. I've tested on RHEL 7.9, so this may not be the same as your distro. In any case, you can verify the path using thewhichcommand.#GoogleChrome$exportAUTHER_CHROME_BIN="/usr/bin/google-chrome"#MicrosoftEdge$exportAUTHER_CHROME_BIN="/usr/bin/microsoft-edge"#Chromium$exportAUTHER_CHROME_BIN="/usr/bin/chromium-browser"Can I run Auther in a way that lets me see what it's doing?Yep! Simply set the environment variableAUTHER_HEADLESSto"1"and runauther login. Your chosen browser or Chromium will appear and perform its actions.NOTEclicking on other elements on the loaded page could interfere with Auther and result in failed authentication attempts that would have otherwise succeeded, so please be careful in headless mode.