How to Automatically Generate Tokens for CodeArtifact (Maven) in Windows

If you have ever used or plan to use CodeArtifact, you will need to generate a token (CODEARTIFACT_AUTH_TOKEN) manually with all Maven projects daily. This can be challenging and slow down your development.

After a while, I came up with PowerShell Script that can simplify your work, creating a User Variable:

$AWS_ACCOUNT_ID='ID'
$DOMAIN='CODE_ARTIFACT_DOMAIN'
$env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain $DOMAIN --domain-owner $AWS_USER_ACCOUNT --query authorizationToken --output text
[Environment]::SetEnvironmentVariable("CODEARTIFACT_AUTH_TOKEN",$env:CODEARTIFACT_AUTH_TOKEN,"User")

You only need to modify these two variables:

  • $AWS_ACCOUNT_ID, you get it from here:
  • $DOMAIN, you get it from here:

After this, you can save the script as a .ps1 file and run it from PowerShell using this command:

powershell -ExecutionPolicy Bypass -File "MY_PATH\UpdateTokenNoAdmin.ps1"

MY_PATH represents the location where you saved your file.

The last part is automating its recreation daily, for this, we are going to use the Task Scheduler:


The first step, create a new task:


Then, you give it a name:


Next, you configure a trigger (I prefer at log on, but it can be daily):


Finally, you add a new Action based on the previous command:

powershell -ExecutionPolicy Bypass -File "MY_PATH\UpdateTokenNoAdmin.ps1"


And that's all, now, your env variable (CODEARTIFACT_AUTH_TOKEN) is going to be autogenerated!

Banner credits:

Comments