authEnabled is false even though internal authentication is enabled and working - why?

I have a docker version of Jitsi running flawlessly. I’m developing a custom UI, and that’s working well also.

I enabled internal auth, and it works as expected from the Jitsi web interface - i.e. dialog appears forcing guest users to wait for moderator, and the moderator can log in just fine.

However, when I attempt to authenticate from my custom UI, the authEnabled property of the room object is false. I don’t understand why, as authentication is set up and working fine for the Jitsi web UI.

I’m guessing that’s why a “Server did not yet offer a supported authentication mechanism.” warning appears in the console. So how do I get the server to offer a supported authentication mechanism?

let room_name = 'room_one';
let room_opts = {
     openBridgeChannel : true
};

// room successfully created but authEnabled is false
room = connection.initJitsiConference( room_name, room_opts );

// calling the following results in "Strophe: Server did not yet offer
// a supported authentication mechanism." warning. Why?
room.authenticateAndUpgradeRole(
	{
		id                : 'login_id',
		password          : 'login_password',
		roomPassword      : '',
		onLoginSuccessful : () => {
			console.log( 'successful login' );
		}
	}
)
.then(
	() => {
		// other stuff
	}
);

When I inspect room, it says the authEnabled property is false. What am I doing wrong?