Skip to content

Commit

Permalink
moved Slack authentication to env vars from config file
Browse files Browse the repository at this point in the history
  • Loading branch information
suculent committed Nov 5, 2023
1 parent 72703d1 commit 16c457b
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 7 deletions.
3 changes: 3 additions & 0 deletions .env.dist
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ WORKER_SECRET=twilight_zone

# Slack Bot Notifications
# SLACK_BOT_TOKEN=
# SLACK_CLIENT_ID=
# SLACK_CLIENT_SECRET=
# SLACK_WEBHOOK=

# Mailgun API Key
# MAILGUN_API_KEY=
5 changes: 4 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@ ENV GITHUB_ACCESS_TOKEN={GITHUB_ACCESS_TOKEN}

ARG SLACK_BOT_TOKEN
ENV SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}

ARG SLACK_CLIENT_ID
ENV SLACK_CLIENT_ID=${SLACK_CLIENT_ID}
ARG SLACK_CLIENT_SECRET
ENV SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}
ARG SLACK_WEBHOOK
ENV SLACK_WEBHOOK=${SLACK_WEBHOOK}

Expand Down
5 changes: 4 additions & 1 deletion Dockerfile.test
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@ ENV GITHUB_ACCESS_TOKEN={GITHUB_ACCESS_TOKEN}

ARG SLACK_BOT_TOKEN
ENV SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}

ARG SLACK_CLIENT_ID
ENV SLACK_CLIENT_ID=${SLACK_CLIENT_ID}
ARG SLACK_CLIENT_SECRET
ENV SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}
ARG SLACK_WEBHOOK
ENV SLACK_WEBHOOK=${SLACK_WEBHOOK}

Expand Down
4 changes: 3 additions & 1 deletion docker-compose.test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -135,10 +135,12 @@ services:
- 'ROLLBAR_ACCESS_TOKEN=${ROLLBAR_ACCESS_TOKEN}'
- 'ROLLBAR_ENVIRONMENT=${ROLLBAR_ENVIRONMENT}'
- 'SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}'
- 'SLACK_CLIENT_ID=${SLACK_CLIENT_ID}'
- 'SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}'
- 'SLACK_WEBHOOK=${SLACK_WEBHOOK}'
- 'THINX_HOSTNAME=${THINX_HOSTNAME}'
- 'THINX_OWNER_EMAIL=${THINX_OWNER_EMAIL}'
- 'WORKER_SECRET=${WORKER_SECRET}'
- 'WORKER_SECRET=${WORKER_SECRET}'
- 'GITHUB_ACCESS_TOKEN=${GITHUB_ACCESS_TOKEN}'
- 'MAILGUN_API_KEY=${MAILGUN_API_KEY}'
ports:
Expand Down
2 changes: 2 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ services:
- 'ROLLBAR_ACCESS_TOKEN=${ROLLBAR_ACCESS_TOKEN}'
- 'ROLLBAR_ENVIRONMENT=${ROLLBAR_ENVIRONMENT}'
- 'SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}'
- 'SLACK_CLIENT_ID=${SLACK_CLIENT_ID}'
- 'SLACK_CLIENT_SECRET=${SLACK_CLIENT_SECRET}'
- 'SLACK_WEBHOOK=${SLACK_WEBHOOK}'
- 'THINX_HOSTNAME=${THINX_HOSTNAME}'
- 'THINX_OWNER_EMAIL=${THINX_OWNER_EMAIL}'
Expand Down
7 changes: 3 additions & 4 deletions lib/router.slack.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ module.exports = function (app) {
* Slack OAuth Integration
*/

// TODO: Convert SLACK_CLIENT_ID to env-var and configure externally so it does not reside in cleartext config flatfil
app.get("/api/slack/direct_install", (req, res) => {
const slack_client_id = app_config.slack.client_id || null;
const slack_client_id = process.env.SLACK_CLIENT_ID || null;
res.redirect(
"https://slack.com/oauth/authorize?client_id=" + slack_client_id + "&scope=bot&state=Online&redirect_uri=" + app_config.api_url + "/api/slack/redirect"
);
Expand All @@ -25,8 +24,8 @@ module.exports = function (app) {
console.log("🔨 [debug] [slack] Redirect Code: " + req.query.code);
console.log("🔨 [debug] [slack] Redirect State: " + req.query.state);

const slack_client_secret = app_config.slack.client_secret || null;
const slack_client_id = app_config.slack.client_id || null;
const slack_client_secret = process.env.SLACK_CLIENT_SECRET || null;
const slack_client_id = process.env.SLACK_CLIENT_ID || null;

var options = {
protocol: 'https:',
Expand Down

0 comments on commit 16c457b

Please sign in to comment.