Skip to content

Commit 59240c4

Browse files
authored
Merge pull request #91 from imcaizheng/fix-auth0-config
update auth0 related configuration
2 parents 13f5669 + 7a94251 commit 59240c4

File tree

6 files changed

+39
-41
lines changed

6 files changed

+39
-41
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ The following parameters can be set in config files or in env variables:
2222

2323
- `AUTH0_URL`: Auth0 URL, used to get TC M2M token
2424
- `AUTH0_AUDIENCE`: Auth0 audience, used to get TC M2M token
25-
- `AUTH0_AUDIENCE_FOR_BUS_API`: Auth0 audience, used to get TC M2M token to be used in bus api client
25+
- `AUTH0_AUDIENCE_UBAHN`: Auth0 audience for U-Bahn
2626
- `TOKEN_CACHE_TIME`: Auth0 token cache time, used to get TC M2M token
2727
- `AUTH0_CLIENT_ID`: Auth0 client id, used to get TC M2M token
2828
- `AUTH0_CLIENT_SECRET`: Auth0 client secret, used to get TC M2M token

config/default.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module.exports = {
88
VALID_ISSUERS: process.env.VALID_ISSUERS || '["https://api.topcoder-dev.com", "https://api.topcoder.com", "https://topcoder-dev.auth0.com/", "https://auth.topcoder-dev.com/"]',
99
AUTH0_URL: process.env.AUTH0_URL,
1010
AUTH0_AUDIENCE: process.env.AUTH0_AUDIENCE,
11-
AUTH0_AUDIENCE_FOR_BUS_API: process.env.AUTH0_AUDIENCE_FOR_BUS_API,
11+
AUTH0_AUDIENCE_UBAHN: process.env.AUTH0_AUDIENCE_UBAHN,
1212
TOKEN_CACHE_TIME: process.env.TOKEN_CACHE_TIME,
1313
AUTH0_CLIENT_ID: process.env.AUTH0_CLIENT_ID,
1414
AUTH0_CLIENT_SECRET: process.env.AUTH0_CLIENT_SECRET,

config/test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module.exports = {
22
LOG_LEVEL: process.env.LOG_LEVEL || 'info',
33
AUTH0_URL: 'http://example.com',
44
AUTH0_AUDIENCE: 'http://example.com',
5-
AUTH0_AUDIENCE_FOR_BUS_API: 'http://example.com',
5+
AUTH0_AUDIENCE_UBAHN: 'http://example.com',
66
AUTH0_CLIENT_ID: 'fake_id',
77
AUTH0_CLIENT_SECRET: 'fake_secret'
88
}

docker/sample.api.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ ES_HOST=<ES Host Endpoint>
33

44
AUTH0_URL=<AUTH0 URL>
55
AUTH0_AUDIENCE=<AUTH0 Audience>
6-
AUTH0_AUDIENCE_FOR_BUS_API=<AUTH0 Audience For Bus Api>
6+
AUTH0_AUDIENCE_UBAHN=<AUTH0 Audience For Bus Api>
77
TOKEN_CACHE_TIME=500000
88
AUTH0_CLIENT_ID=<AUTH0 Client ID>
99
AUTH0_CLIENT_SECRET=<AUTH0 Client Secret>

src/common/helper.js

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ AWS.config.region = config.esConfig.AWS_REGION
2323

2424
const m2mAuth = require('tc-core-library-js').auth.m2m
2525

26-
// const m2m = m2mAuth(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'TOKEN_CACHE_TIME', 'AUTH0_PROXY_SERVER_URL']))
2726
const m2m = m2mAuth(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'AUTH0_CLIENT_ID', 'AUTH0_CLIENT_SECRET', 'AUTH0_PROXY_SERVER_URL']))
2827

29-
const topcoderM2M = m2mAuth({
30-
AUTH0_AUDIENCE: config.AUTH0_AUDIENCE_FOR_BUS_API,
28+
const m2mForUbahn = m2mAuth({
29+
AUTH0_AUDIENCE: config.AUTH0_AUDIENCE_UBAHN,
3130
..._.pick(config, ['AUTH0_URL', 'TOKEN_CACHE_TIME', 'AUTH0_CLIENT_ID', 'AUTH0_CLIENT_SECRET', 'AUTH0_PROXY_SERVER_URL'])
32-
})
31+
}
32+
)
3333

3434
let busApiClient
3535

@@ -42,10 +42,8 @@ function getBusApiClient () {
4242
if (busApiClient) {
4343
return busApiClient
4444
}
45-
busApiClient = busApi({
46-
AUTH0_AUDIENCE: config.AUTH0_AUDIENCE_FOR_BUS_API,
47-
..._.pick(config, ['AUTH0_URL', 'TOKEN_CACHE_TIME', 'AUTH0_CLIENT_ID', 'AUTH0_CLIENT_SECRET', 'BUSAPI_URL', 'KAFKA_ERROR_TOPIC', 'AUTH0_PROXY_SERVER_URL'])
48-
})
45+
busApiClient = busApi(_.pick(config, ['AUTH0_URL', 'AUTH0_AUDIENCE', 'TOKEN_CACHE_TIME', 'AUTH0_CLIENT_ID', 'AUTH0_CLIENT_SECRET', 'BUSAPI_URL', 'KAFKA_ERROR_TOPIC', 'AUTH0_PROXY_SERVER_URL'])
46+
)
4947
return busApiClient
5048
}
5149

@@ -210,16 +208,16 @@ function getESClient () {
210208
* Function to get M2M token
211209
* @returns {Promise}
212210
*/
213-
const getM2Mtoken = async () => {
211+
const getM2MToken = async () => {
214212
return await m2m.getMachineToken(config.AUTH0_CLIENT_ID, config.AUTH0_CLIENT_SECRET)
215213
}
216214

217215
/*
218-
* Function to get M2M token to access topcoder resources(e.g. /v3/users)
216+
* Function to get M2M token for U-Bahn
219217
* @returns {Promise}
220218
*/
221-
const getTopcoderM2MToken = async () => {
222-
return await topcoderM2M.getMachineToken(config.AUTH0_CLIENT_ID, config.AUTH0_CLIENT_SECRET)
219+
const getM2MUbahnToken = async () => {
220+
return await m2mForUbahn.getMachineToken(config.AUTH0_CLIENT_ID, config.AUTH0_CLIENT_SECRET)
223221
}
224222

225223
/**
@@ -247,7 +245,7 @@ function encodeQueryString (queryObj, nesting = '') {
247245
* @returns {String} user id.
248246
*/
249247
async function getUserIds (userId) {
250-
const token = await getM2Mtoken()
248+
const token = await getM2MToken()
251249
const q = {
252250
enrich: true,
253251
externalProfile: {
@@ -320,7 +318,7 @@ function isDocumentMissingException (err) {
320318
async function getProjects (currentUser, criteria = {}) {
321319
let token
322320
if (currentUser.hasManagePermission || currentUser.isMachine) {
323-
const m2mToken = await getM2Mtoken()
321+
const m2mToken = await getM2MToken()
324322
token = `Bearer ${m2mToken}`
325323
} else {
326324
token = currentUser.jwtToken
@@ -351,7 +349,7 @@ async function getProjects (currentUser, criteria = {}) {
351349
* @returns {Object} the user
352350
*/
353351
async function getTopcoderUserById (userId) {
354-
const token = await getTopcoderM2MToken()
352+
const token = await getM2MToken()
355353
const res = await request
356354
.get(config.TOPCODER_USERS_API)
357355
.query({ filter: `id=${userId}` })
@@ -371,7 +369,7 @@ async function getTopcoderUserById (userId) {
371369
* @returns the request result
372370
*/
373371
async function getUserById (userId, enrich) {
374-
const token = await getM2Mtoken()
372+
const token = await getM2MToken()
375373
const res = await request
376374
.get(`${config.TC_API}/users/${userId}` + (enrich ? '?enrich=true' : ''))
377375
.set('Authorization', `Bearer ${token}`)
@@ -389,29 +387,29 @@ async function getUserById (userId, enrich) {
389387
}
390388

391389
/**
392-
* Function to create user in ubhan
390+
* Function to create user in ubahn
393391
* @param {Object} data the user data
394392
* @returns the request result
395393
*/
396-
async function createUbhanUser ({ handle, firstName, lastName }) {
397-
const token = await getM2Mtoken()
394+
async function createUbahnUser ({ handle, firstName, lastName }) {
395+
const token = await getM2MUbahnToken()
398396
const res = await request
399397
.post(`${config.TC_API}/users`)
400398
.set('Authorization', `Bearer ${token}`)
401399
.set('Content-Type', 'application/json')
402400
.set('Accept', 'application/json')
403401
.send({ handle, firstName, lastName })
404-
localLogger.debug({ context: 'createUbhanUser', message: `response body: ${JSON.stringify(res.body)}` })
402+
localLogger.debug({ context: 'createUbahnUser', message: `response body: ${JSON.stringify(res.body)}` })
405403
return _.pick(res.body, ['id'])
406404
}
407405

408406
/**
409-
* Function to create external profile for a ubhan user
407+
* Function to create external profile for a ubahn user
410408
* @param {String} userId the user id(with uuid format)
411409
* @param {Object} data the profile data
412410
*/
413411
async function createUserExternalProfile (userId, { organizationId, externalId }) {
414-
const token = await getM2Mtoken()
412+
const token = await getM2MUbahnToken()
415413
const res = await request
416414
.post(`${config.TC_API}/users/${userId}/externalProfiles`)
417415
.set('Authorization', `Bearer ${token}`)
@@ -427,7 +425,7 @@ async function createUserExternalProfile (userId, { organizationId, externalId }
427425
* @returns the request result
428426
*/
429427
async function getMembers (handles) {
430-
const token = await getM2Mtoken()
428+
const token = await getM2MToken()
431429
const handlesStr = _.map(handles, handle => {
432430
return '%22' + handle.toLowerCase() + '%22'
433431
}).join(',')
@@ -451,7 +449,7 @@ async function getMembers (handles) {
451449
async function getProjectById (currentUser, id) {
452450
let token
453451
if (currentUser.hasManagePermission || currentUser.isMachine) {
454-
const m2mToken = await getM2Mtoken()
452+
const m2mToken = await getM2MToken()
455453
token = `Bearer ${m2mToken}`
456454
} else {
457455
token = currentUser.jwtToken
@@ -484,7 +482,7 @@ async function getProjectById (currentUser, id) {
484482
* @returns the request result
485483
*/
486484
async function getTopcoderSkills (criteria) {
487-
const token = await getM2Mtoken()
485+
const token = await getM2MToken()
488486
try {
489487
const res = await request
490488
.get(`${config.TC_API}/skills`)
@@ -516,7 +514,7 @@ async function getTopcoderSkills (criteria) {
516514
* @returns the request result
517515
*/
518516
async function getSkillById (skillId) {
519-
const token = await getM2Mtoken()
517+
const token = await getM2MToken()
520518
const res = await request
521519
.get(`${config.TC_API}/skills/${skillId}`)
522520
.set('Authorization', `Bearer ${token}`)
@@ -556,17 +554,17 @@ async function getUserSkill (token, userId) {
556554
* Fetch the user info from /v3/users and create a new user in /v5/users.
557555
*
558556
* @params {Object} currentUser the user who perform this operation
559-
* @returns {String} the ubhan user id
557+
* @returns {String} the ubahn user id
560558
*/
561-
async function ensureUbhanUserId (currentUser) {
559+
async function ensureUbahnUserId (currentUser) {
562560
try {
563561
return await getUserId(currentUser.userId)
564562
} catch (err) {
565563
if (!(err instanceof errors.NotFoundError)) {
566564
throw err
567565
}
568566
const topcoderUser = await getTopcoderUserById(currentUser.userId)
569-
const user = await createUbhanUser(_.pick(topcoderUser, ['handle', 'firstName', 'lastName']))
567+
const user = await createUbahnUser(_.pick(topcoderUser, ['handle', 'firstName', 'lastName']))
570568
await createUserExternalProfile(user.id, { organizationId: config.ORG_ID, externalId: currentUser.userId })
571569
return user.id
572570
}
@@ -589,7 +587,7 @@ async function ensureJobById (jobId) {
589587
* @returns {Object} the user data
590588
*/
591589
async function ensureUserById (userId) {
592-
const token = await getM2Mtoken()
590+
const token = await getM2MToken()
593591
try {
594592
const res = await request
595593
.get(`${config.TC_API}/users/${userId}`)
@@ -625,7 +623,7 @@ function getAuditM2Muser () {
625623
* @returns the result
626624
*/
627625
async function checkIsMemberOfProject (userId, projectId) {
628-
const m2mToken = await getM2Mtoken()
626+
const m2mToken = await getM2MToken()
629627
const res = await request
630628
.get(`${config.TC_API}/projects/${projectId}`)
631629
.set('Authorization', `Bearer ${m2mToken}`)
@@ -649,10 +647,10 @@ module.exports = {
649647
if (userId === config.m2m.M2M_AUDIT_USER_ID) {
650648
return config.m2m.M2M_AUDIT_USER_ID
651649
}
652-
return ensureUbhanUserId({ userId })
650+
return ensureUbahnUserId({ userId })
653651
},
654-
getM2Mtoken,
655-
getTopcoderM2MToken,
652+
getM2MToken,
653+
getM2MUbahnToken,
656654
postEvent,
657655
getBusApiClient,
658656
isDocumentMissingException,

src/services/JobService.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,18 +188,18 @@ async function updateJob (currentUser, id, data) {
188188
}
189189
let job = await Job.findById(id)
190190
const oldValue = job.toJSON()
191-
const ubhanUserId = await helper.getUserId(currentUser.userId)
191+
const ubahnUserId = await helper.getUserId(currentUser.userId)
192192
if (!currentUser.hasManagePermission && !currentUser.isMachine) {
193193
// Check whether user can update the job.
194194
// Note that there is no need to check if user is member of the project associated with the job here
195195
// because user who created the job must be the member of the project associated with the job
196-
if (ubhanUserId !== job.createdBy) {
196+
if (ubahnUserId !== job.createdBy) {
197197
throw new errors.ForbiddenError('You are not allowed to perform this action!')
198198
}
199199
}
200200

201201
data.updatedAt = new Date()
202-
data.updatedBy = ubhanUserId
202+
data.updatedBy = ubahnUserId
203203

204204
await job.update(data)
205205
await helper.postEvent(config.TAAS_JOB_UPDATE_TOPIC, { id, ...data }, { oldValue: oldValue })

0 commit comments

Comments
 (0)