What is the right way to perform login on the router page?

I need to perform login programmatically on my router page. The purpose is to choose login language according to my page language.
I use this code:

let baseUrl = wixLocation.baseUrl;
let options = {“mode”: “login”, “lang”: “en”};
return wixUsers.promptLogin(options)
.then( (user) => {
let userId = user.id ; // “r5me-6fem-45jf-djhe-484349”
let isLoggedIn = user.loggedIn; // true
let userRole = user.role; // “member”
return user.getEmail();
} )
.then( (email) => {
let userEmail = email; // " user@something.com "
} )
.catch( (err) => {
wixLocation.to(baseUrl);
let errorMsg = err; // “The user closed the login dialog”
} );

Inside onReady function of the router page.
It works, but the problem is, when I press “close” button on the login page, “members only” page is displayed for 500 ms and only after that site redirected to the baseUrl page.
What should I do to prevent “members only” page from being displayed?