Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 5bc590c

Browse files
m2m implementation with circleci ver 2.
1 parent d60b237 commit 5bc590c

File tree

5 files changed

+43
-13
lines changed

5 files changed

+43
-13
lines changed

config/custom-environment-variables.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,9 @@ module.exports = {
2020
TC_SLACK_WEBHOOK_URL: 'TC_SLACK_WEBHOOK_URL',
2121
SYSTEM_USER_CLIENT_ID: 'SYSTEM_USER_CLIENT_ID',
2222
SYSTEM_USER_CLIENT_SECRET: 'SYSTEM_USER_CLIENT_SECRET',
23+
AUTH0_URL: 'AUTH0_URL',
24+
AUTH0_AUDIENCE: 'AUTH0_AUDIENCE',
25+
TOKEN_CACHE_TIME: 'TOKEN_CACHE_TIME',
26+
AUTH0_CLIENT_ID: 'AUTH0_CLIENT_ID',
27+
AUTH0_CLIENT_SECRET: 'AUTH0_CLIENT_SECRET',
2328
};

config/test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,9 @@ module.exports = {
2323
},
2424
TC_SLACK_WEBHOOK_URL: 'http://localhost:3001/slack',
2525
API_BASE_URL: 'http://localhost:3001',
26+
AUTH0_URL: process.env.DEV_AUTH0_URL || '',
27+
AUTH0_AUDIENCE: process.env.DEV_AUTH0_AUDIENCE || '',
28+
TOKEN_CACHE_TIME: process.env.DEV_TOKEN_CACHE_TIME || 86400000,
29+
AUTH0_CLIENT_ID: process.env.DEV_AUTH0_CLIENT_ID,
30+
AUTH0_CLIENT_SECRET: process.env.DEV_AUTH0_CLIENT_SECRET,
2631
};

deploy.sh

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,26 @@ make_task_def(){
7070
{
7171
"name": "TC_SLACK_WEBHOOK_URL",
7272
"value": "%s"
73+
},
74+
{
75+
"name": "AUTH0_URL",
76+
"value": "%s"
77+
},
78+
{
79+
"name": "AUTH0_AUDIENCE",
80+
"value": "%s"
81+
},
82+
{
83+
"name": "AUTH0_CLIENT_ID",
84+
"value": "%s"
85+
},
86+
{
87+
"name": "AUTH0_CLIENT_SECRET",
88+
"value": "%s"
89+
},
90+
{
91+
"name": "TOKEN_CACHE_TIME",
92+
"value": "%s"
7393
}
7494
],
7595
"logConfiguration": {
@@ -86,13 +106,19 @@ make_task_def(){
86106
CAPTURE_LOGS=$(eval "echo \$${ENV}_CAPTURE_LOGS")
87107
LOGENTRIES_TOKEN=$(eval "echo \$${ENV}_LOGENTRIES_TOKEN")
88108
LOG_LEVEL=$(eval "echo \$${ENV}_LOG_LEVEL")
109+
AUTH0_URL=$(eval "echo \$${ENV}_AUTH0_URL")
110+
AUTH0_AUDIENCE=$(eval "echo \$${ENV}_AUTH0_AUDIENCE")
111+
TOKEN_CACHE_TIME=$(eval "echo \$${ENV}_TOKEN_CACHE_TIME")
112+
AUTH0_CLIENT_ID=$(eval "echo \$${ENV}_AUTH0_CLIENT_ID")
113+
AUTH0_CLIENT_SECRET=$(eval "echo \$${ENV}_AUTH0_CLIENT_SECRET")
114+
89115
if [ "$ENV" = "PROD" ]; then
90116
NODE_ENV=production
91117
elif [ "$ENV" = "DEV" ]; then
92118
NODE_ENV=development
93119
fi
94120

95-
task_def=$(printf "$task_template" $ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $CIRCLE_SHA1 $NODE_ENV $LOG_LEVEL $CAPTURE_LOGS $LOGENTRIES_TOKEN $RABBITMQ_URL $SYSTEM_USER_CLIENT_ID $SYSTEM_USER_CLIENT_SECRET $TC_SLACK_WEBHOOK_URL $AWS_ECS_CLUSTER $AWS_REGION $NODE_ENV)
121+
task_def=$(printf "$task_template" $ACCOUNT_ID $AWS_REGION $AWS_REPOSITORY $CIRCLE_SHA1 $NODE_ENV $LOG_LEVEL $CAPTURE_LOGS $LOGENTRIES_TOKEN $RABBITMQ_URL $SYSTEM_USER_CLIENT_ID $SYSTEM_USER_CLIENT_SECRET $TC_SLACK_WEBHOOK_URL "$AUTH0_URL" "$AUTH0_AUDIENCE" $AUTH0_CLIENT_ID "$AUTH0_CLIENT_SECRET" $TOKEN_CACHE_TIME $AWS_ECS_CLUSTER $AWS_REGION $NODE_ENV)
96122
}
97123

98124
push_ecr_image(){

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
"config": "^1.24.0",
2525
"jackrabbit": "^4.3.0",
2626
"lodash": "^4.16.6",
27-
"request": "^2.78.0"
27+
"request": "^2.78.0",
28+
"tc-core-library-js": "appirio-tech/tc-core-library-js.git#v2.3"
2829
},
2930
"devDependencies": {
3031
"babel-cli": "^6.9.0",

src/handlers/util.js

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ const _ = require('lodash');
1111
const config = require('config');
1212
const Promise = require('bluebird');
1313
const request = require('request');
14+
const tcCoreLibAuth = require('tc-core-library-js').auth;
15+
16+
const M2m = tcCoreLibAuth.m2m(config);
1417

1518
/**
1619
* Makes a GET request to the API server
@@ -39,17 +42,7 @@ function requestPromise(options, cb = null) {
3942
}
4043

4144
const getSystemUserToken = Promise.coroutine(function* () {
42-
const formData = {
43-
clientId: config.get('SYSTEM_USER_CLIENT_ID'),
44-
secret: config.get('SYSTEM_USER_CLIENT_SECRET'),
45-
};
46-
return yield requestPromise(
47-
{
48-
method: 'POST',
49-
url: `${config.get('API_BASE_URL')}/v3/authorizations/`,
50-
form: formData,
51-
},
52-
(data, resolve) => resolve(data.result.content.token));
45+
return yield M2m.getMachineToken(config.AUTH0_CLIENT_ID, config.AUTH0_CLIENT_SECRET);
5346
});
5447

5548
/**

0 commit comments

Comments
 (0)