Nebular - после входа в систему неправильно загружается токен - PullRequest
2 голосов
/ 29 октября 2019

Я использую nebular и laravel API с классом NbPasswordAuthStrategy и NbAuthJWTToken, в качестве следующего:

NbAuthModule.forRoot({
  strategies: [
    NbPasswordAuthStrategy.setup({
      name: 'email',
      token: {
        class: NbAuthJWTToken,
        key: 'data.user.token',
      },
      baseEndpoint: BASE_URL + 'users/',
      login: {
        endpoint: 'login',
        method: 'post',
        redirect: {
          success: '/pages/dashboard',
          failure: null, // stay on the same page
        },
      },
    }),
  ],
  forms: {
    login: {
      rememberMe: false,
    },
    validation: {
      password: {
        minLength: 6,
      },
    },
  },
}),

ответ конечной точки login следующим образом:

{
"data": {
    "user": {
        "id": 114683,
        "first_name": "mhd",
        "last_name": "sultan",
        ...
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vMTI3LjAuMC4xOjgwMDAvYXBpL3VzZXJzL2xvZ2luIiwiaWF0IjoxNTcyMzQ2NDMzLCJleHAiOjE2NjY5NTQ0MzMsIm5iZiI6MTU3MjM0NjQzMywianRpIjoiNmxGaDNwbWd0RVpoa0FPRSIsInN1YiI6MTE0NjgzLCJwcnYiOiI4N2UwYWYxZWY5ZmQxNTgxMmZkZWM5NzE1M2ExNGUwYjA0NzU0NmFhIn0.Eg4_1cXngafs1V80jqygvJDR0vZN5HuHyXV9PTeUkzA",
    }
}}

в моем UserService, когда я подписываюсь на onTokenChange :

constructor(private authService: NbAuthService) {
this.authService.onTokenChange()
  .subscribe((token: NbAuthJWTToken) => {
    console.log(token);
    console.log(token.getPayload());
    if (token.isValid()) {
      this.user = token.getPayload(); // receive payload from token and assign it to our `user` variable
    }
  });}

Я получаю токен правильно но яполучаю полезную нагрузку, содержащую свойства токена JWT

enter image description here

что мне нужно сделать, чтобы получить объект data.user ??

...