Как использовать код c8yClient в приложении Angular 6 (машинописный файл) - PullRequest
0 голосов
/ 27 августа 2018

Например:

import { Client } from '@c8y/client';

const baseUrl = 'https://demos.cumulocity.com/';
const tenant = 'demos';
const user = 'user';
const password = 'pw';

(async () => {
  const client = await Client.authenticate({
    tenant,
    user,
    password
  }), baseUrl);
  const { data, paging } = await client.inventory.list();
  // data = first page of inventory
  const nextPage = await paging.next();
  // nextPage.data = second page of inventory
})();

Учтите, что у меня есть модуль входа в угловое приложение 6.Как использовать этот код и аутентифицировать пользователя в файле login.component.ts?

1 Ответ

0 голосов
/ 28 августа 2018

Cumulocity выпустила демо для Stackblitz , как войти в систему пользователя.В основном вы создаете ngForm с именем пользователя, паролем и арендатором и передаете его клиенту Cumulocity:

async login() {
    const client = new Client(new BasicAuth(
      {
        user: this.model.user,
        password: this.model.password,
        tenant: this.model.tenant
      }),
      `https://${this.model.tenant}.cumulocity.com`
    );

    try {
      let user = await client.user.current();
      this.cumulocity.client = client;
    } catch (ex) {
      this.cumulocity.client = null;
      this.error.shown = true;
      this.error.msg = ex.message;
    }
}

В этом случае this.model - это данные, поступающие с ngFrom, и при нажатии на кнопкуlogin()? функция выполнена.Переменная this.cumulocity содержит службу, позволяющую обмениваться зарегистрированным клиентом с другими компонентами.

Примечание. Если вы запускаете это на другом сервере (не размещенном), вам необходимо включитьCORS в администрации Cumulocity.

...