mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-02-24 11:03:36 -05:00
refactor: stop sharing api/client specific config (#51423)
This commit is contained in:
committed by
GitHub
parent
2428910ad1
commit
cb9d6a6243
8
api-server/config/cors-settings.js
Normal file
8
api-server/config/cors-settings.js
Normal file
@@ -0,0 +1,8 @@
|
||||
exports.allowedOrigins = [
|
||||
'https://www.freecodecamp.dev',
|
||||
'https://www.freecodecamp.org',
|
||||
'https://beta.freecodecamp.dev',
|
||||
'https://beta.freecodecamp.org',
|
||||
'https://chinese.freecodecamp.dev',
|
||||
'https://chinese.freecodecamp.org'
|
||||
];
|
||||
110
api-server/config/secrets.js
Normal file
110
api-server/config/secrets.js
Normal file
@@ -0,0 +1,110 @@
|
||||
const {
|
||||
MONGODB,
|
||||
MONGOHQ_URL,
|
||||
|
||||
SESSION_SECRET,
|
||||
COOKIE_SECRET,
|
||||
JWT_SECRET,
|
||||
|
||||
AUTH0_CLIENT_ID,
|
||||
AUTH0_CLIENT_SECRET,
|
||||
AUTH0_DOMAIN,
|
||||
|
||||
FACEBOOK_ID,
|
||||
FACEBOOK_SECRET,
|
||||
|
||||
GITHUB_ID,
|
||||
GITHUB_SECRET,
|
||||
|
||||
GOOGLE_ID,
|
||||
GOOGLE_SECRET,
|
||||
|
||||
LINKEDIN_ID,
|
||||
LINKEDIN_SECRET,
|
||||
|
||||
TWITTER_KEY,
|
||||
TWITTER_SECRET,
|
||||
TWITTER_TOKEN,
|
||||
TWITTER_TOKEN_SECRET,
|
||||
|
||||
SENTRY_DSN,
|
||||
|
||||
STRIPE_PUBLIC_KEY,
|
||||
STRIPE_SECRET_KEY,
|
||||
|
||||
PAYPAL_CLIENT_ID,
|
||||
PAYPAL_SECRET,
|
||||
PAYPAL_VERIFY_WEBHOOK_URL,
|
||||
PAYPAL_API_TOKEN_URL,
|
||||
PAYPAL_WEBHOOK_ID
|
||||
} = process.env;
|
||||
|
||||
module.exports = {
|
||||
db: MONGODB || MONGOHQ_URL,
|
||||
|
||||
cookieSecret: COOKIE_SECRET,
|
||||
jwtSecret: JWT_SECRET,
|
||||
sessionSecret: SESSION_SECRET,
|
||||
|
||||
auth0: {
|
||||
clientID: AUTH0_CLIENT_ID,
|
||||
clientSecret: AUTH0_CLIENT_SECRET,
|
||||
domain: AUTH0_DOMAIN
|
||||
},
|
||||
|
||||
facebook: {
|
||||
clientID: FACEBOOK_ID,
|
||||
clientSecret: FACEBOOK_SECRET,
|
||||
callbackURL: '/auth/facebook/callback',
|
||||
passReqToCallback: true
|
||||
},
|
||||
|
||||
github: {
|
||||
clientID: GITHUB_ID,
|
||||
clientSecret: GITHUB_SECRET,
|
||||
callbackURL: '/auth/github/callback',
|
||||
passReqToCallback: true
|
||||
},
|
||||
|
||||
twitter: {
|
||||
consumerKey: TWITTER_KEY,
|
||||
consumerSecret: TWITTER_SECRET,
|
||||
token: TWITTER_TOKEN,
|
||||
tokenSecret: TWITTER_TOKEN_SECRET,
|
||||
callbackURL: '/auth/twitter/callback',
|
||||
passReqToCallback: true
|
||||
},
|
||||
|
||||
google: {
|
||||
clientID: GOOGLE_ID,
|
||||
clientSecret: GOOGLE_SECRET,
|
||||
callbackURL: '/auth/google/callback',
|
||||
passReqToCallback: true
|
||||
},
|
||||
|
||||
linkedin: {
|
||||
clientID: LINKEDIN_ID,
|
||||
clientSecret: LINKEDIN_SECRET,
|
||||
callbackURL: '/auth/linkedin/callback',
|
||||
profileFields: ['public-profile-url'],
|
||||
scope: ['r_basicprofile', 'r_emailaddress'],
|
||||
passReqToCallback: true
|
||||
},
|
||||
|
||||
sentry: {
|
||||
dsn: SENTRY_DSN
|
||||
},
|
||||
|
||||
stripe: {
|
||||
public: STRIPE_PUBLIC_KEY,
|
||||
secret: STRIPE_SECRET_KEY
|
||||
},
|
||||
|
||||
paypal: {
|
||||
client: PAYPAL_CLIENT_ID,
|
||||
secret: PAYPAL_SECRET,
|
||||
verifyWebhookURL: PAYPAL_VERIFY_WEBHOOK_URL,
|
||||
tokenUrl: PAYPAL_API_TOKEN_URL,
|
||||
webhookId: PAYPAL_WEBHOOK_ID
|
||||
}
|
||||
};
|
||||
@@ -4,7 +4,7 @@ import jwt from 'jsonwebtoken';
|
||||
import passport from 'passport';
|
||||
import fetch from 'node-fetch';
|
||||
import { isEmail } from 'validator';
|
||||
import { jwtSecret } from '../../../../config/secrets';
|
||||
import { jwtSecret } from '../../../config/secrets';
|
||||
import { decodeEmail } from '../../common/utils';
|
||||
import {
|
||||
createPassportCallbackAuthenticator,
|
||||
|
||||
@@ -16,7 +16,7 @@ import isURL from 'validator/lib/isURL';
|
||||
import fetch from 'node-fetch';
|
||||
import jwt from 'jsonwebtoken';
|
||||
|
||||
import { jwtSecret } from '../../../../config/secrets';
|
||||
import { jwtSecret } from '../../../config/secrets';
|
||||
import { challengeTypes } from '../../../../config/challenge-types';
|
||||
|
||||
import {
|
||||
|
||||
@@ -2,7 +2,7 @@ import debug from 'debug';
|
||||
import Stripe from 'stripe';
|
||||
|
||||
import { donationSubscriptionConfig } from '../../../../config/donation-settings';
|
||||
import keys from '../../../../config/secrets';
|
||||
import keys from '../../../config/secrets';
|
||||
import {
|
||||
getAsyncPaypalToken,
|
||||
verifyWebHook,
|
||||
|
||||
@@ -3,7 +3,7 @@ import dedent from 'dedent';
|
||||
import passport from 'passport';
|
||||
|
||||
import { availableLangs } from '../../../config/i18n';
|
||||
import { jwtSecret } from '../../../config/secrets';
|
||||
import { jwtSecret } from '../../config/secrets';
|
||||
import passportProviders from './passport-providers';
|
||||
import { setAccessTokenToResponse } from './utils/getSetAccessToken';
|
||||
import {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var secrets = require('../../../config/secrets');
|
||||
var secrets = require('../../config/secrets');
|
||||
|
||||
module.exports = {
|
||||
db: {
|
||||
|
||||
@@ -9,7 +9,7 @@ const loopback = require('loopback');
|
||||
const boot = require('loopback-boot');
|
||||
const morgan = require('morgan');
|
||||
|
||||
const { sentry } = require('../../../config/secrets');
|
||||
const { sentry } = require('../../config/secrets');
|
||||
const { setupPassport } = require('./component-passport');
|
||||
|
||||
const log = createDebugger('fcc:server');
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { allowedOrigins } from '../../../../config/cors-settings';
|
||||
import { allowedOrigins } from '../../../config/cors-settings';
|
||||
|
||||
export default function constantHeaders() {
|
||||
return function (req, res, next) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { isEmpty } from 'lodash';
|
||||
|
||||
import { jwtSecret as _jwtSecret } from '../../../../config/secrets';
|
||||
import { jwtSecret as _jwtSecret } from '../../../config/secrets';
|
||||
|
||||
import { wrapHandledError } from '../utils/create-handled-error';
|
||||
import {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Handlers, captureException } from '@sentry/node';
|
||||
import { sentry } from '../../../../config/secrets';
|
||||
import { sentry } from '../../../config/secrets';
|
||||
import { isHandledError } from '../utils/create-handled-error';
|
||||
|
||||
// sends directly to Sentry
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Handlers } from '@sentry/node';
|
||||
import { sentry } from '../../../../config/secrets';
|
||||
import { sentry } from '../../../config/secrets';
|
||||
|
||||
export default function sentryRequestHandler() {
|
||||
return sentry.dsn === 'dsn_from_sentry_dashboard'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Handlers } from '@sentry/node';
|
||||
import { sentry } from '../../../../config/secrets';
|
||||
import { sentry } from '../../../config/secrets';
|
||||
|
||||
export default function sentryRequestHandler() {
|
||||
return sentry.dsn === 'dsn_from_sentry_dashboard'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import debugFactory from 'debug';
|
||||
const log = debugFactory('fcc:boot:user');
|
||||
import jwt from 'jsonwebtoken';
|
||||
import { jwtSecret } from '../../../../config/secrets';
|
||||
import { jwtSecret } from '../../../config/secrets';
|
||||
|
||||
/*
|
||||
* User tokens for submitting external curriculum are deleted when they sign
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { auth0 } from '../../../config/secrets';
|
||||
import { auth0 } from '../../config/secrets';
|
||||
|
||||
const { clientID, clientSecret, domain } = auth0;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ import axios from 'axios';
|
||||
import debug from 'debug';
|
||||
import isEmail from 'validator/lib/isEmail';
|
||||
import { donationSubscriptionConfig } from '../../../../config/donation-settings';
|
||||
import keys from '../../../../config/secrets';
|
||||
import keys from '../../../config/secrets';
|
||||
|
||||
const log = debug('fcc:boot:donate');
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable camelcase */
|
||||
import axios from 'axios';
|
||||
import keys from '../../../../config/secrets';
|
||||
import keys from '../../../config/secrets';
|
||||
import {
|
||||
mockApp,
|
||||
createDonationMockFn,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { isBefore } from 'date-fns';
|
||||
import jwt from 'jsonwebtoken';
|
||||
|
||||
import { jwtSecret as _jwtSecret } from '../../../../config/secrets';
|
||||
import { jwtSecret as _jwtSecret } from '../../../config/secrets';
|
||||
|
||||
export const jwtCookieNS = 'jwt_access_token';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const jwt = require('jsonwebtoken');
|
||||
const { allowedOrigins } = require('../../../../config/cors-settings');
|
||||
const { allowedOrigins } = require('../../../config/cors-settings');
|
||||
// process.env.HOME_LOCATION is being used as a fallback here. If the one
|
||||
// provided by the client is invalid we default to this.
|
||||
const { availableLangs } = require('../../../../config/i18n');
|
||||
|
||||
Reference in New Issue
Block a user