Skip to content

Commit 4e1bba2

Browse files
authored
Merge pull request #246 from jerebtw/main
feat: add app & admin cookie secure variable to dashboard
2 parents 89cea39 + f1509f9 commit 4e1bba2

File tree

7 files changed

+183
-129
lines changed

7 files changed

+183
-129
lines changed
Lines changed: 152 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -1,133 +1,157 @@
1-
import React from 'react';
2-
import { Divider, Flex, Stack, Text } from '@chakra-ui/react';
3-
import InputField from '../InputField';
4-
import { SwitchInputType } from '../../constants';
1+
import React from "react";
2+
import { Divider, Flex, Stack, Text } from "@chakra-ui/react";
3+
import InputField from "../InputField";
4+
import { SwitchInputType } from "../../constants";
55

66
const Features = ({ variables, setVariables }: any) => {
7-
return (
8-
<div>
9-
{' '}
10-
<Text fontSize="md" paddingTop="2%" fontWeight="bold" mb={5}>
11-
Disable Features
12-
</Text>
13-
<Stack spacing={6}>
14-
<Flex>
15-
<Flex w="100%" justifyContent="start" alignItems="center">
16-
<Text fontSize="sm">Disable Login Page:</Text>
17-
</Flex>
18-
<Flex justifyContent="start">
19-
<InputField
20-
variables={variables}
21-
setVariables={setVariables}
22-
inputType={SwitchInputType.DISABLE_LOGIN_PAGE}
23-
/>
24-
</Flex>
25-
</Flex>
26-
<Flex>
27-
<Flex w="100%" justifyContent="start" alignItems="center">
28-
<Text fontSize="sm">Disable Email Verification:</Text>
29-
</Flex>
30-
<Flex justifyContent="start">
31-
<InputField
32-
variables={variables}
33-
setVariables={setVariables}
34-
inputType={SwitchInputType.DISABLE_EMAIL_VERIFICATION}
35-
/>
36-
</Flex>
37-
</Flex>
38-
<Flex>
39-
<Flex w="100%" justifyContent="start" alignItems="center">
40-
<Text fontSize="sm">Disable Magic Login Link:</Text>
41-
</Flex>
42-
<Flex justifyContent="start">
43-
<InputField
44-
variables={variables}
45-
setVariables={setVariables}
46-
inputType={SwitchInputType.DISABLE_MAGIC_LINK_LOGIN}
47-
/>
48-
</Flex>
49-
</Flex>
50-
<Flex>
51-
<Flex w="100%" justifyContent="start" alignItems="center">
52-
<Text fontSize="sm">Disable Basic Authentication:</Text>
53-
</Flex>
54-
<Flex justifyContent="start">
55-
<InputField
56-
variables={variables}
57-
setVariables={setVariables}
58-
inputType={SwitchInputType.DISABLE_BASIC_AUTHENTICATION}
59-
/>
60-
</Flex>
61-
</Flex>
62-
<Flex>
63-
<Flex w="100%" justifyContent="start" alignItems="center">
64-
<Text fontSize="sm">Disable Sign Up:</Text>
65-
</Flex>
66-
<Flex justifyContent="start" mb={3}>
67-
<InputField
68-
variables={variables}
69-
setVariables={setVariables}
70-
inputType={SwitchInputType.DISABLE_SIGN_UP}
71-
/>
72-
</Flex>
73-
</Flex>
74-
<Flex>
75-
<Flex w="100%" justifyContent="start" alignItems="center">
76-
<Text fontSize="sm">Disable Strong Password:</Text>
77-
</Flex>
78-
<Flex justifyContent="start" mb={3}>
79-
<InputField
80-
variables={variables}
81-
setVariables={setVariables}
82-
inputType={SwitchInputType.DISABLE_STRONG_PASSWORD}
83-
/>
84-
</Flex>
85-
</Flex>
86-
<Flex alignItems="center">
87-
<Flex w="100%" alignItems="baseline" flexDir="column">
88-
<Text fontSize="sm">
89-
Disable Multi Factor Authentication (MFA):
90-
</Text>
91-
<Text fontSize="x-small">
92-
Note: Enabling this will ignore Enforcing MFA shown below and will
93-
also ignore the user MFA setting.
94-
</Text>
95-
</Flex>
96-
<Flex justifyContent="start" mb={3}>
97-
<InputField
98-
variables={variables}
99-
setVariables={setVariables}
100-
inputType={SwitchInputType.DISABLE_MULTI_FACTOR_AUTHENTICATION}
101-
/>
102-
</Flex>
103-
</Flex>
104-
</Stack>
105-
<Divider paddingY={5} />
106-
<Text fontSize="md" paddingTop={5} fontWeight="bold" mb={5}>
107-
Enable Features
108-
</Text>
109-
<Stack spacing={6}>
110-
<Flex alignItems="center">
111-
<Flex w="100%" alignItems="baseline" flexDir="column">
112-
<Text fontSize="sm">
113-
Enforce Multi Factor Authentication (MFA):
114-
</Text>
115-
<Text fontSize="x-small">
116-
Note: If you disable enforcing after it was enabled, it will still
117-
keep MFA enabled for older users.
118-
</Text>
119-
</Flex>
120-
<Flex justifyContent="start" mb={3}>
121-
<InputField
122-
variables={variables}
123-
setVariables={setVariables}
124-
inputType={SwitchInputType.ENFORCE_MULTI_FACTOR_AUTHENTICATION}
125-
/>
126-
</Flex>
127-
</Flex>
128-
</Stack>
129-
</div>
130-
);
7+
return (
8+
<div>
9+
{" "}
10+
<Text fontSize="md" paddingTop="2%" fontWeight="bold" mb={5}>
11+
Disable Features
12+
</Text>
13+
<Stack spacing={6}>
14+
<Flex>
15+
<Flex w="100%" justifyContent="start" alignItems="center">
16+
<Text fontSize="sm">Disable secure app cookie:</Text>
17+
</Flex>
18+
<Flex justifyContent="start">
19+
<InputField
20+
variables={variables}
21+
setVariables={setVariables}
22+
inputType={SwitchInputType.DISABLE_APP_COOKIE_SECURE}
23+
/>
24+
</Flex>
25+
</Flex>
26+
<Flex>
27+
<Flex w="100%" justifyContent="start" alignItems="center">
28+
<Text fontSize="sm">Disable secure admin cookie:</Text>
29+
</Flex>
30+
<Flex justifyContent="start">
31+
<InputField
32+
variables={variables}
33+
setVariables={setVariables}
34+
inputType={SwitchInputType.DISABLE_ADMIN_COOKIE_SECURE}
35+
/>
36+
</Flex>
37+
</Flex>
38+
<Flex>
39+
<Flex w="100%" justifyContent="start" alignItems="center">
40+
<Text fontSize="sm">Disable Login Page:</Text>
41+
</Flex>
42+
<Flex justifyContent="start">
43+
<InputField
44+
variables={variables}
45+
setVariables={setVariables}
46+
inputType={SwitchInputType.DISABLE_LOGIN_PAGE}
47+
/>
48+
</Flex>
49+
</Flex>
50+
<Flex>
51+
<Flex w="100%" justifyContent="start" alignItems="center">
52+
<Text fontSize="sm">Disable Email Verification:</Text>
53+
</Flex>
54+
<Flex justifyContent="start">
55+
<InputField
56+
variables={variables}
57+
setVariables={setVariables}
58+
inputType={SwitchInputType.DISABLE_EMAIL_VERIFICATION}
59+
/>
60+
</Flex>
61+
</Flex>
62+
<Flex>
63+
<Flex w="100%" justifyContent="start" alignItems="center">
64+
<Text fontSize="sm">Disable Magic Login Link:</Text>
65+
</Flex>
66+
<Flex justifyContent="start">
67+
<InputField
68+
variables={variables}
69+
setVariables={setVariables}
70+
inputType={SwitchInputType.DISABLE_MAGIC_LINK_LOGIN}
71+
/>
72+
</Flex>
73+
</Flex>
74+
<Flex>
75+
<Flex w="100%" justifyContent="start" alignItems="center">
76+
<Text fontSize="sm">Disable Basic Authentication:</Text>
77+
</Flex>
78+
<Flex justifyContent="start">
79+
<InputField
80+
variables={variables}
81+
setVariables={setVariables}
82+
inputType={SwitchInputType.DISABLE_BASIC_AUTHENTICATION}
83+
/>
84+
</Flex>
85+
</Flex>
86+
<Flex>
87+
<Flex w="100%" justifyContent="start" alignItems="center">
88+
<Text fontSize="sm">Disable Sign Up:</Text>
89+
</Flex>
90+
<Flex justifyContent="start" mb={3}>
91+
<InputField
92+
variables={variables}
93+
setVariables={setVariables}
94+
inputType={SwitchInputType.DISABLE_SIGN_UP}
95+
/>
96+
</Flex>
97+
</Flex>
98+
<Flex>
99+
<Flex w="100%" justifyContent="start" alignItems="center">
100+
<Text fontSize="sm">Disable Strong Password:</Text>
101+
</Flex>
102+
<Flex justifyContent="start" mb={3}>
103+
<InputField
104+
variables={variables}
105+
setVariables={setVariables}
106+
inputType={SwitchInputType.DISABLE_STRONG_PASSWORD}
107+
/>
108+
</Flex>
109+
</Flex>
110+
<Flex alignItems="center">
111+
<Flex w="100%" alignItems="baseline" flexDir="column">
112+
<Text fontSize="sm">
113+
Disable Multi Factor Authentication (MFA):
114+
</Text>
115+
<Text fontSize="x-small">
116+
Note: Enabling this will ignore Enforcing MFA shown below and will
117+
also ignore the user MFA setting.
118+
</Text>
119+
</Flex>
120+
<Flex justifyContent="start" mb={3}>
121+
<InputField
122+
variables={variables}
123+
setVariables={setVariables}
124+
inputType={SwitchInputType.DISABLE_MULTI_FACTOR_AUTHENTICATION}
125+
/>
126+
</Flex>
127+
</Flex>
128+
</Stack>
129+
<Divider paddingY={5} />
130+
<Text fontSize="md" paddingTop={5} fontWeight="bold" mb={5}>
131+
Enable Features
132+
</Text>
133+
<Stack spacing={6}>
134+
<Flex alignItems="center">
135+
<Flex w="100%" alignItems="baseline" flexDir="column">
136+
<Text fontSize="sm">
137+
Enforce Multi Factor Authentication (MFA):
138+
</Text>
139+
<Text fontSize="x-small">
140+
Note: If you disable enforcing after it was enabled, it will still
141+
keep MFA enabled for older users.
142+
</Text>
143+
</Flex>
144+
<Flex justifyContent="start" mb={3}>
145+
<InputField
146+
variables={variables}
147+
setVariables={setVariables}
148+
inputType={SwitchInputType.ENFORCE_MULTI_FACTOR_AUTHENTICATION}
149+
/>
150+
</Flex>
151+
</Flex>
152+
</Stack>
153+
</div>
154+
);
131155
};
132156

133157
export default Features;

dashboard/src/constants.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ export const TextAreaInputType = {
6363
};
6464

6565
export const SwitchInputType = {
66+
DISABLE_APP_COOKIE_SECURE: 'DISABLE_APP_COOKIE_SECURE',
67+
DISABLE_ADMIN_COOKIE_SECURE: 'DISABLE_ADMIN_COOKIE_SECURE',
6668
DISABLE_LOGIN_PAGE: 'DISABLE_LOGIN_PAGE',
6769
DISABLE_MAGIC_LINK_LOGIN: 'DISABLE_MAGIC_LINK_LOGIN',
6870
DISABLE_EMAIL_VERIFICATION: 'DISABLE_EMAIL_VERIFICATION',
@@ -133,6 +135,8 @@ export interface envVarTypes {
133135
ORGANIZATION_LOGO: string;
134136
CUSTOM_ACCESS_TOKEN_SCRIPT: string;
135137
ADMIN_SECRET: string;
138+
DISABLE_APP_COOKIE_SECURE: boolean;
139+
DISABLE_ADMIN_COOKIE_SECURE: boolean;
136140
DISABLE_LOGIN_PAGE: boolean;
137141
DISABLE_MAGIC_LINK_LOGIN: boolean;
138142
DISABLE_EMAIL_VERIFICATION: boolean;

dashboard/src/graphql/queries/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ export const EnvVariablesQuery = `
5050
ORGANIZATION_NAME
5151
ORGANIZATION_LOGO
5252
ADMIN_SECRET
53+
DISABLE_APP_COOKIE_SECURE
54+
DISABLE_ADMIN_COOKIE_SECURE
5355
DISABLE_LOGIN_PAGE
5456
DISABLE_MAGIC_LINK_LOGIN
5557
DISABLE_EMAIL_VERIFICATION

dashboard/src/pages/Environment.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ const Environment = () => {
7171
ORGANIZATION_LOGO: '',
7272
CUSTOM_ACCESS_TOKEN_SCRIPT: '',
7373
ADMIN_SECRET: '',
74+
DISABLE_APP_COOKIE_SECURE: false,
75+
DISABLE_ADMIN_COOKIE_SECURE: false,
7476
DISABLE_LOGIN_PAGE: false,
7577
DISABLE_MAGIC_LINK_LOGIN: false,
7678
DISABLE_EMAIL_VERIFICATION: false,

server/graph/generated/generated.go

Lines changed: 19 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/graph/model/models_gen.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

server/graph/schema.graphqls

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,8 @@ input UpdateEnvInput {
225225
ALLOWED_ORIGINS: [String!]
226226
APP_URL: String
227227
RESET_PASSWORD_URL: String
228+
DISABLE_APP_COOKIE_SECURE: Boolean!
229+
DISABLE_ADMIN_COOKIE_SECURE: Boolean!
228230
DISABLE_EMAIL_VERIFICATION: Boolean
229231
DISABLE_BASIC_AUTHENTICATION: Boolean
230232
DISABLE_MAGIC_LINK_LOGIN: Boolean

0 commit comments

Comments
 (0)