Skip to content

Commit e49e315

Browse files
Feat: Add oauth2 for twitch (#426)
* fix: * removed fmt.Println * Feat: - Add OAuth for twitch --------- Co-authored-by: lemonScaletech <[email protected]> Co-authored-by: Anand Kumar Panigrahi <[email protected]>
1 parent 7f6ddca commit e49e315

File tree

14 files changed

+362
-6
lines changed

14 files changed

+362
-6
lines changed

dashboard/src/components/EnvComponents/OAuthConfig.tsx

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
FaApple,
1818
FaTwitter,
1919
FaMicrosoft,
20+
FaTwitch,
2021
} from 'react-icons/fa';
2122
import {
2223
TextInputType,
@@ -397,6 +398,44 @@ const OAuthConfig = ({
397398
/>
398399
</Center>
399400
</Flex>
401+
<Flex direction={isNotSmallerScreen ? 'row' : 'column'}>
402+
<Center
403+
w={isNotSmallerScreen ? '55px' : '35px'}
404+
h="35px"
405+
marginRight="1.5%"
406+
border="1px solid #3b5998"
407+
borderRadius="5px"
408+
>
409+
<FaTwitch />
410+
</Center>
411+
<Center
412+
w={isNotSmallerScreen ? '70%' : '100%'}
413+
mt={isNotSmallerScreen ? '0' : '3'}
414+
marginRight="1.5%"
415+
>
416+
<InputField
417+
borderRadius={5}
418+
variables={envVariables}
419+
setVariables={setVariables}
420+
inputType={TextInputType.TWITCH_CLIENT_ID}
421+
placeholder="Twitch Client ID"
422+
/>
423+
</Center>
424+
<Center
425+
w={isNotSmallerScreen ? '70%' : '100%'}
426+
mt={isNotSmallerScreen ? '0' : '3'}
427+
>
428+
<InputField
429+
borderRadius={5}
430+
variables={envVariables}
431+
setVariables={setVariables}
432+
fieldVisibility={fieldVisibility}
433+
setFieldVisibility={setFieldVisibility}
434+
inputType={HiddenInputType.TWITCH_CLIENT_SECRET}
435+
placeholder="Twitch Client Secret"
436+
/>
437+
</Center>
438+
</Flex>
400439
</Stack>
401440
</Box>
402441
</div>

dashboard/src/constants.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const TextInputType = {
1212
TWITTER_CLIENT_ID: 'TWITTER_CLIENT_ID',
1313
MICROSOFT_CLIENT_ID: 'MICROSOFT_CLIENT_ID',
1414
MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID: 'MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID',
15+
TWITCH_CLIENT_ID: 'TWITCH_CLIENT_ID',
1516
JWT_ROLE_CLAIM: 'JWT_ROLE_CLAIM',
1617
REDIS_URL: 'REDIS_URL',
1718
SMTP_HOST: 'SMTP_HOST',
@@ -42,6 +43,7 @@ export const HiddenInputType = {
4243
APPLE_CLIENT_SECRET: 'APPLE_CLIENT_SECRET',
4344
TWITTER_CLIENT_SECRET: 'TWITTER_CLIENT_SECRET',
4445
MICROSOFT_CLIENT_SECRET: 'MICROSOFT_CLIENT_SECRET',
46+
TWITCH_CLIENT_SECRET: 'TWITCH_CLIENT_SECRET',
4547
JWT_SECRET: 'JWT_SECRET',
4648
SMTP_PASSWORD: 'SMTP_PASSWORD',
4749
ADMIN_SECRET: 'ADMIN_SECRET',
@@ -132,6 +134,8 @@ export interface envVarTypes {
132134
MICROSOFT_CLIENT_ID: string;
133135
MICROSOFT_CLIENT_SECRET: string;
134136
MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID: string;
137+
TWITCH_CLIENT_ID: string;
138+
TWITCH_CLIENT_SECRET: string;
135139
ROLES: [string] | [];
136140
DEFAULT_ROLES: [string] | [];
137141
PROTECTED_ROLES: [string] | [];

dashboard/src/graphql/queries/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ export const EnvVariablesQuery = `
3535
MICROSOFT_CLIENT_ID
3636
MICROSOFT_CLIENT_SECRET
3737
MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID
38+
TWITCH_CLIENT_ID
39+
TWITCH_CLIENT_SECRET
3840
DEFAULT_ROLES
3941
PROTECTED_ROLES
4042
ROLES

dashboard/src/pages/Environment.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ const Environment = () => {
5555
MICROSOFT_CLIENT_ID: '',
5656
MICROSOFT_CLIENT_SECRET: '',
5757
MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID: '',
58+
TWITCH_CLIENT_ID: '',
59+
TWITCH_CLIENT_SECRET: '',
5860
ROLES: [],
5961
DEFAULT_ROLES: [],
6062
PROTECTED_ROLES: [],
@@ -107,6 +109,7 @@ const Environment = () => {
107109
LINKEDIN_CLIENT_SECRET: false,
108110
APPLE_CLIENT_SECRET: false,
109111
TWITTER_CLIENT_SECRET: false,
112+
TWITCH_CLIENT_SECRET: false,
110113
JWT_SECRET: false,
111114
SMTP_PASSWORD: false,
112115
ADMIN_SECRET: false,

server/constants/auth_methods.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,6 @@ const (
2323
AuthRecipeMethodTwitter = "twitter"
2424
// AuthRecipeMethodMicrosoft is the microsoft auth method
2525
AuthRecipeMethodMicrosoft = "microsoft"
26+
// AuthRecipeMethodTwitch is the twitch auth method
27+
AuthRecipeMethodTwitch = "twitch"
2628
)

server/constants/env.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ const (
118118
EnvKeyMicrosoftActiveDirectoryTenantID = "MICROSOFT_ACTIVE_DIRECTORY_TENANT_ID"
119119
// EnvKeyMicrosoftClientSecret key for env variable MICROSOFT_CLIENT_SECRET
120120
EnvKeyMicrosoftClientSecret = "MICROSOFT_CLIENT_SECRET"
121+
// EnvKeyTwitchClientID key for env variable TWITCH_CLIENT_ID
122+
EnvKeyTwitchClientID = "TWITCH_CLIENT_ID"
123+
// EnvKeyTwitchClientSecret key for env variable TWITCH_CLIENT_SECRET
124+
EnvKeyTwitchClientSecret = "TWITCH_CLIENT_SECRET"
121125
// EnvKeyOrganizationName key for env variable ORGANIZATION_NAME
122126
EnvKeyOrganizationName = "ORGANIZATION_NAME"
123127
// EnvKeyOrganizationLogo key for env variable ORGANIZATION_LOGO

0 commit comments

Comments
 (0)