Как создать токен для создания пользователя WordPress в Angular 4 - PullRequest
0 голосов
/ 26 апреля 2018

Может кто-нибудь объяснить:

let header = new Headers({"Authorization": "Bearer "+token});

Как мне получить это значение для токена?

Я использую wp-api-angular

, вот пример кода:

signUpForm() {
  const headers = new Headers({
    'Authorization': 'Bearer' + this.token
  });

  this.wpApiUsers.create(
    this.newUser,
    { headers: headers })
    .toPromise()
    .then(response => {
      console.log(response);
    }
  );

}

Теперь у меня есть это:

signUpForm() {
  this.http.post('https://website.com/wp-json/jwt-auth/v1/token', {
    username: 'admin',
    password: 'password'
  }).subscribe(data => {
    if (data['token']) { // if token is returned
      this.token = data['token'];

      const headers = new Headers({
        'Authorization': 'Bearer' + this.token
      });

      const options = new RequestOptions({ headers: headers });

      this.http.post(
        'https://website.com/wp-json/wp/v2/users',
        this.newUser,
        options
      );

    }

  });


}

Но теперь я получаю эту ошибку:

Аргумент типа '{headers: Headers;} 'нельзя назначить параметру типа' RequestOptionsArgs '.Типы свойств «заголовки» несовместимы.Тип «Заголовки» нельзя назначить типу «Заголовки».Существуют два разных типа с этим именем, но они не связаны.Свойство 'keys' отсутствует в типе 'Headers'.Заголовки const: Заголовки

1 Ответ

0 голосов
/ 26 апреля 2018

Токен позволяет вам иметь авторизацию для доступа к данным, к которым не может получить доступ не прошедший проверку пользователь, он генерируется при успешном входе.

Сначала необходимо запросить токен (Войти-in), для этого вы должны выполнить POST-запрос с именем пользователя и паролем, в ответе будет токен, который вы должны сохранить и использовать для других запросов, требующих авторизации.

this.http.post('http://YOUR_DOMAIN/wp-json/jwt-auth/v1/token', {
    username: this.user.login,
    password: this.user.password
  }).subscribe(
    (data) => {
      if (data['token']) { // if token is returned
        console.log(data['token']); // Token
      }
    }, (error) => {} // Authentication errors
);

Завершить урок:https://www.sitepoint.com/angular-wordpress-wp-api-angular/

...