I'm implementing the Keycloak authentication service in my Angular 2 project. 
I use a service for logging in, logging out etc. 

Authenticating a user and logging out seems to work. I'm now trying to protect some routes. I now have a working AuthGuard. 
To check if the user is logged in (in the AuthGuard), I have a isAuthenticated() method in the service. 
This is the service: 

```
import { Injectable } from '@angular/core';

declare let Keycloak: any;

@Injectable()
export class KeycloakService {
  private keycloak = new Keycloak('app/keycloak/keycloak.json');

  constructor() {
    this.keycloak.init({onload: 'check-sso'});
    console.log(this.keycloak);
  }

  public login() {
    this.keycloak.login();
  }

  public logout() {
    this.keycloak.logout();
  }

  public isAuthenticated() {
    return this.keycloak.authenticated;
  }
}

```

Flow: User logs in, user tries to reach protected route, AuthGuard checks if user is logged in via isAuthenticated(). 

*Note:* I don't want to authenticate the user for the complete Angular app. Only for some routes. 

**Problem**

After the user logs in, the user is redirected to the Angular app. After this, the isAuthenticated() method returns still false. Here is why:

I logged the Keycloak object to the console. I found something I didn't understand. 

[![Keycloak object after login redirect](https://i.stack.imgur.com/cQGlD.png)](https://i.stack.imgur.com/cQGlD.png)

Keycloak object after login redirect

---

[![Same Keycloak object after login redirect (but expanded)](https://i.stack.imgur.com/VfdZU.png)](https://i.stack.imgur.com/VfdZU.png)

Same Keycloak object after login redirect (but expanded)

First the authenticated property is false. After expanding the authenticated property is true. 

**Question**

Is the way I try to maintain my Keycloak object the correct way?

**Consulted sources**

* <https://keycloak.gitbooks.io/securing-client-applications-guide/content/v/2.5/topics/oidc/javascript-adapter.html>
* <https://github.com/keycloak/keycloak/tree/master/examples/demo-template/angular2-product-app/src/main/webapp/app>

And others