I'm having trouble getting the /api/users/tokens request to work even when using credentials that work fine when I log into earthdata:
curl --request GET --url https://uat.urs.earthdata.nasa.gov/api/users/tokens --header 'Authorization: Basic alaroy:my-password'
Any idea what I'm doing wrong, please?
Also - Has anybody published scripts that will automatically update your token? I'd prefer to not have inherently unreliable humans (like myself) remembering to do it every 90 days...
Thank you for posting your question.
First, there is a typo in the command on that webpage (https://urs.earthdata.nasa.gov/documentation/for_users/user_token). The command for getting the bearer token programmatically: curl --request GET \ --url https://uat.urs.earthdata.nasa.gov/api/users/tokens \ --header 'Authorization: Basic username:userpassword' should not contain "uat" after the "https://" in the url. UAT is the NASA test environment.
So the command used should be:
curl --request GET \ --url https://urs.earthdata.nasa.gov/api/users/tokens \ --header 'Authorization: Basic username:userpassword'
Secondly, the username:userpassword string needs to be encoded into base64.
I am not aware of any scripts currently built to automatically generate new tokens every 90 days.