|
| 1 | +var fs = require('fs'); |
| 2 | + |
1 | 3 | var AWS = require('../core'),
|
2 | 4 | ENV_RELATIVE_URI = 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI',
|
3 | 5 | ENV_FULL_URI = 'AWS_CONTAINER_CREDENTIALS_FULL_URI',
|
4 | 6 | ENV_AUTH_TOKEN = 'AWS_CONTAINER_AUTHORIZATION_TOKEN',
|
| 7 | + ENV_AUTH_TOKEN_FILE = 'AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE', |
5 | 8 | FULL_URI_UNRESTRICTED_PROTOCOLS = ['https:'],
|
6 | 9 | FULL_URI_ALLOWED_PROTOCOLS = ['http:', 'https:'],
|
7 |
| - FULL_URI_ALLOWED_HOSTNAMES = ['localhost', '127.0.0.1'], |
| 10 | + FULL_URI_ALLOWED_HOSTNAMES = ['localhost', '127.0.0.1', '169.254.170.23'], |
8 | 11 | RELATIVE_URI_HOST = '169.254.170.2';
|
9 | 12 |
|
10 | 13 | /**
|
@@ -113,7 +116,16 @@ AWS.RemoteCredentials = AWS.util.inherit(AWS.Credentials, {
|
113 | 116 | * @api private
|
114 | 117 | */
|
115 | 118 | getECSAuthToken: function getECSAuthToken() {
|
116 |
| - if (process && process.env && process.env[ENV_FULL_URI]) { |
| 119 | + if (process && process.env && (process.env[ENV_FULL_URI] || process.env[ENV_AUTH_TOKEN_FILE])) { |
| 120 | + if (!process.env[ENV_AUTH_TOKEN] && process.env[ENV_AUTH_TOKEN_FILE]) { |
| 121 | + try { |
| 122 | + var data = fs.readFileSync(process.env[ENV_AUTH_TOKEN_FILE]).toString(); |
| 123 | + return data; |
| 124 | + } catch (error) { |
| 125 | + console.error('Error reading token file:', error); |
| 126 | + throw error; // Re-throw the error to propagate it |
| 127 | + } |
| 128 | + } |
117 | 129 | return process.env[ENV_AUTH_TOKEN];
|
118 | 130 | }
|
119 | 131 | },
|
|
0 commit comments