R. Polito
R. Polito

Reputation: 544

Why does VaadinRouter route me when not authenticated?

I am fiddling around with VaadinRouter,trying to protect routes. Below you can see the onBeforeEnter code of my component to protect:

    authenticatedDummy = true;

    public onBeforeEnter(
        location: RouterLocation,
        commands: PreventAndRedirectCommands
      ): Promise<unknown> | RedirectResult | undefined {
        if (this.authenticatedDummy) {
          console.log('OnBeforeEnter');
    
          return new Promise(resolve => {
            setTimeout(() => {
              resolve(commands.redirect('/home'));
            }, 2000);
          });
        }
        return undefined;
      }

I do not understand why the router routes me, if authenticatedDummy is false. As I read the code, if authenticatedDummy is true, redirect me to '/home' .

Is this the correct way of reading it or am I overlooking something?

Upvotes: 1

Views: 101

Answers (1)

R. Polito
R. Polito

Reputation: 544

I have build the script wrong. It should have been:

 public onBeforeEnter(
        location: RouterLocation,
        commands: PreventAndRedirectCommands
      ): Promise<unknown> | RedirectResult | undefined {
        if (!this.isAuthorized()) {
          console.log('Guarded!');
    
          return new Promise(resolve => {
            setTimeout(() => {
              resolve(commands.redirect('/'));
            }, 2000);
          });
        }
        return undefined;
      }

It is working like this!

Upvotes: 1

Related Questions