Skip to content

Commit

Permalink
React project for client side authentication
Browse files Browse the repository at this point in the history
  • Loading branch information
JZO001 committed Oct 28, 2022
1 parent dc44b76 commit 32bd426
Show file tree
Hide file tree
Showing 45 changed files with 17,438 additions and 0 deletions.
3 changes: 3 additions & 0 deletions Forge.Yoda.Apps.Web.React/ClientApp/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
BROWSER=none
SKIP_PREFLIGHT_CHECK=true

4 changes: 4 additions & 0 deletions Forge.Yoda.Apps.Web.React/ClientApp/.env.development
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
PORT=44445
HTTPS=true
SKIP_PREFLIGHT_CHECK=true

21 changes: 21 additions & 0 deletions Forge.Yoda.Apps.Web.React/ClientApp/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.

# dependencies
/node_modules

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
2,228 changes: 2,228 additions & 0 deletions Forge.Yoda.Apps.Web.React/ClientApp/README.md

Large diffs are not rendered by default.

33 changes: 33 additions & 0 deletions Forge.Yoda.Apps.Web.React/ClientApp/aspnetcore-https.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// This script sets up HTTPS for the application using the ASP.NET Core HTTPS certificate
const fs = require('fs');
const spawn = require('child_process').spawn;
const path = require('path');

const baseFolder =
process.env.APPDATA !== undefined && process.env.APPDATA !== ''
? `${process.env.APPDATA}/ASP.NET/https`
: `${process.env.HOME}/.aspnet/https`;

const certificateArg = process.argv.map(arg => arg.match(/--name=(?<value>.+)/i)).filter(Boolean)[0];
const certificateName = certificateArg ? certificateArg.groups.value : process.env.npm_package_name;

if (!certificateName) {
console.error('Invalid certificate name. Run this script in the context of an npm/yarn script or pass --name=<<app>> explicitly.')
process.exit(-1);
}

const certFilePath = path.join(baseFolder, `${certificateName}.pem`);
const keyFilePath = path.join(baseFolder, `${certificateName}.key`);

if (!fs.existsSync(certFilePath) || !fs.existsSync(keyFilePath)) {
spawn('dotnet', [
'dev-certs',
'https',
'--export-path',
certFilePath,
'--format',
'Pem',
'--no-password',
], { stdio: 'inherit', })
.on('exit', (code) => process.exit(code));
}
55 changes: 55 additions & 0 deletions Forge.Yoda.Apps.Web.React/ClientApp/aspnetcore-react.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// This script configures the .env.development.local file with additional environment variables to configure HTTPS using the ASP.NET Core
// development certificate in the webpack development proxy.

const fs = require('fs');
const path = require('path');

const baseFolder =
process.env.APPDATA !== undefined && process.env.APPDATA !== ''
? `${process.env.APPDATA}/ASP.NET/https`
: `${process.env.HOME}/.aspnet/https`;

const certificateArg = process.argv.map(arg => arg.match(/--name=(?<value>.+)/i)).filter(Boolean)[0];
const certificateName = certificateArg ? certificateArg.groups.value : process.env.npm_package_name;

if (!certificateName) {
console.error('Invalid certificate name. Run this script in the context of an npm/yarn script or pass --name=<<app>> explicitly.')
process.exit(-1);
}

const certFilePath = path.join(baseFolder, `${certificateName}.pem`);
const keyFilePath = path.join(baseFolder, `${certificateName}.key`);

if (!fs.existsSync('.env.development.local')) {
fs.writeFileSync(
'.env.development.local',
`SSL_CRT_FILE=${certFilePath}
SSL_KEY_FILE=${keyFilePath}`
);
} else {
let lines = fs.readFileSync('.env.development.local')
.toString()
.split('\n');

let hasCert, hasCertKey = false;
for (const line of lines) {
if (/SSL_CRT_FILE=.*/i.test(line)) {
hasCert = true;
}
if (/SSL_KEY_FILE=.*/i.test(line)) {
hasCertKey = true;
}
}
if (!hasCert) {
fs.appendFileSync(
'.env.development.local',
`\nSSL_CRT_FILE=${certFilePath}`
);
}
if (!hasCertKey) {
fs.appendFileSync(
'.env.development.local',
`\nSSL_KEY_FILE=${keyFilePath}`
);
}
}
Loading

0 comments on commit 32bd426

Please sign in to comment.