@@ -36,10 +36,21 @@ const main = async (cliArgs: Args): Promise<void> => {
3636 // This prioritizes the flags set in args over the ones in the config file.
3737 let args = Object . assign ( configArgs , cliArgs )
3838
39+ if ( ! args . auth ) {
40+ args = {
41+ ...args ,
42+ auth : AuthType . Password ,
43+ }
44+ }
45+
3946 logger . trace ( `Using extensions-dir at ${ humanPath ( args [ "extensions-dir" ] ) } ` )
4047 logger . trace ( `Using user-data-dir at ${ humanPath ( args [ "user-data-dir" ] ) } ` )
4148
49+ const envPassword = ! ! process . env . PASSWORD
4250 const password = args . auth === AuthType . Password && ( process . env . PASSWORD || args . password )
51+ if ( args . auth === AuthType . Password && ! password ) {
52+ throw new Error ( "Please pass in a password via the config file or $PASSWORD" )
53+ }
4354 const [ host , port ] = bindAddrFromAllSources ( cliArgs , configArgs )
4455
4556 // Spawn the main HTTP server.
@@ -69,7 +80,7 @@ const main = async (cliArgs: Args): Promise<void> => {
6980 const api = httpServer . registerHttpProvider ( "/api" , ApiHttpProvider , httpServer , vscode , args [ "user-data-dir" ] )
7081 const update = httpServer . registerHttpProvider ( "/update" , UpdateHttpProvider , false )
7182 httpServer . registerHttpProvider ( "/proxy" , ProxyHttpProvider )
72- httpServer . registerHttpProvider ( "/login" , LoginHttpProvider )
83+ httpServer . registerHttpProvider ( "/login" , LoginHttpProvider , args . config ! , envPassword )
7384 httpServer . registerHttpProvider ( "/static" , StaticHttpProvider )
7485 httpServer . registerHttpProvider ( "/dashboard" , DashboardHttpProvider , api , update )
7586
@@ -79,15 +90,8 @@ const main = async (cliArgs: Args): Promise<void> => {
7990 const serverAddress = await httpServer . listen ( )
8091 logger . info ( `HTTP server listening on ${ serverAddress } ` )
8192
82- if ( ! args . auth ) {
83- args = {
84- ...args ,
85- auth : AuthType . Password ,
86- }
87- }
88-
8993 if ( args . auth === AuthType . Password ) {
90- if ( process . env . PASSWORD ) {
94+ if ( envPassword ) {
9195 logger . info ( " - Using password from $PASSWORD" )
9296 } else {
9397 logger . info ( ` - Using password from ${ humanPath ( args . config ) } ` )
0 commit comments