Ключи доступа видны
В моем приложении на Angular 6 я работаю с двумя API-интерфейсами, для которых обоим нужен ключ или токен, чтобы дать разрешение на доступные методы выполнения.
Я создал ключивнутри src/environmets/environment.prod.ts
.
My angular.json :
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true
}
}
environment.prod.ts:
export const environment = {
production: false,
hmr: false,
firebase: {
apiKey: 'AIzaSyD8-dfxdfxdfxdf3242342342',
authDomain: 'dfdfd-med.firebaseapp.com',
databaseURL: 'https://ddfdf-med.firebaseio.com',
projectId: 'dxdfdfd-dd',
storageBucket: 'dxxxx-med.appspot.com',
messagingSenderId: '1041058540005'
},
MoipAPI: {
apiKey: 'Basic VTBRTkJWOUVIMFREQjVGM1sssJTFJddddNBV0dVVEdMMFZEMEhPRzZBRE1TS0k0Q1dYQklRT0VWRlJHR0xUQw==',
},
};
В моем сервисе @Injectable()
меня волнует
import {environment} from 'environments / environment';
Когда я выполняю сборку под углом с помощью команды ng build --prod
при доступе к Инструментам разработчика из Google Chrome на вкладке Источники я вижу ключи внутри main.435fgfd2cxsss.js
.
Это проблема, поскольку мои ключи видны всем, их не следует показывать в main.435fgfd2cxsss.js
.
Как я могу сделать это в Angular безопасным способом?