@@ -51,6 +51,21 @@ export type CTFNoteConfig = DeepReadOnly<{
5151 registrationRoleId : string ;
5252 channelHandleStyle : DiscordChannelHandleStyle ;
5353 } ;
54+ oauth2 : {
55+ enabled : string ;
56+ clientId : string ;
57+ clientSecret : string ;
58+ scope : string ;
59+ usernameAttr : string ;
60+ roleAttr : string ;
61+ roleMapping : string ;
62+ discoveryUrl : string ;
63+ authorizationEndpoint : string ;
64+ tokenEndpoint : string ;
65+ userinfoEndpoint : string ;
66+ tokenEndpointAuthMethod : string ;
67+ issuer : string ;
68+ } ;
5469} > ;
5570
5671function getEnv (
@@ -112,6 +127,24 @@ const config: CTFNoteConfig = {
112127 "agile"
113128 ) as DiscordChannelHandleStyle ,
114129 } ,
130+ oauth2 : {
131+ enabled : getEnv ( "OAUTH2_ENABLED" , "false" ) ,
132+ clientId : getEnv ( "OAUTH2_CLIENT_ID" , "" ) ,
133+ clientSecret : getEnv ( "OAUTH2_CLIENT_SECRET" , "" ) ,
134+ scope : getEnv ( "OAUTH2_SCOPE" , "" ) ,
135+ usernameAttr : getEnv ( "OAUTH2_USERNAME_ATTR" , "" ) ,
136+ roleAttr : getEnv ( "OAUTH2_ROLE_ATTR" , "" ) ,
137+ roleMapping : getEnv ( "OAUTH2_ROLE_MAPPING" , "" ) ,
138+ discoveryUrl : getEnv ( "OAUTH2_DISCOVERY_URL" , "" ) ,
139+ authorizationEndpoint : getEnv ( "OAUTH2_AUTHORIZATION_ENDPOINT" , "" ) ,
140+ tokenEndpoint : getEnv ( "OAUTH2_TOKEN_ENDPOINT" , "" ) ,
141+ userinfoEndpoint : getEnv ( "OAUTH2_USERINFO_ENDPOINT" , "" ) ,
142+ tokenEndpointAuthMethod : getEnv (
143+ "OAUTH2_TOKEN_ENDPOINT_AUTH_METHOD" ,
144+ "client_secret_basic"
145+ ) ,
146+ issuer : getEnv ( "OAUTH2_ISSUER" , "" ) ,
147+ } ,
115148} ;
116149
117150export default config ;
0 commit comments