Demo zum Einbetten von SDKs

Das Repository zum Einbetten des SDKs enthält Beispielcode und eine einfache Demo des Embed SDK. Aufgrund der Sicherheitsvorkehrungen von Looker erfordert die Demo etwas Einrichtung. Für die Demo ist außerdem das Einbettungs-Secret von Looker erforderlich. Das Einbettungs-Secret gewährt Zugriff auf alle Ihre Daten. Beachten Sie daher Folgendes:

  • Geben Sie Ihr Secret nicht an Personen weiter, die keinen vollständigen Zugriff auf die Instanz haben sollen.
  • Setzen Sie das Secret nicht zurück, wenn Sie es bereits in einem anderen Kontext verwenden.
  • Richten Sie den Code nicht so ein, dass das Secret im Webbrowser gespeichert wird.

Schritt 1: Einbetten in Ihrer Looker-Instanz aktivieren

Weitere Informationen dazu finden Sie auf der Dokumentation Einmalanmeldung (SSO) – Einbettung.

  1. Gehen Sie auf der Looker-Instanz zu Admin &Platform Embed (Verwaltung > Plattformeinbettung). Dafür sind Administratorberechtigungen erforderlich.
  2. Der Demoserver wird standardmäßig um http://localhost:8080 ausgeführt. Wenn Sie diese Adresse der Liste der Zulassungslisten für eingebettete Domains hinzufügen, können Sie die Demo zum Empfang von Nachrichten von Looker aktivieren.
  3. Aktivieren Sie Authentifizierung einbetten.
  4. Zum Aufrufen des eingebetteten Secrets müssen Sie ihn zurücksetzen. Kopieren Sie das Secret an einen sicheren Ort.

Schritt 2: Demoeinstellungen für die Looker-Instanz anpassen

Gib dein Einbettungs-Secret an den Server weiter. Dafür gibt es mehrere Möglichkeiten:

  • Legen Sie sie in Ihrer Shell-Umgebung als LOOKER_EMBED_SECRET fest.
  • Erstellen Sie im Stammverzeichnis des SDK-Verzeichnisses eine Datei mit dem Namen .env. Fügen Sie dieser Datei eine Zeile hinzu: LOOKER_EMBED_SECRET="YourLookerSecret"

Geben Sie die Serveradresse der Looker-Instanz auf dem Server an. Dafür haben Sie folgende Möglichkeiten:

  • Legen Sie ihn in Ihrer Shell-Umgebung als LOOKER_EMBED_HOST fest.
  • LOOKER_EMBED_HOST="yourinstance.looker.com:yourport" wird der Datei .env hinzugefügt.

Bearbeiten Sie die Datei demo/demo_config.ts so, dass sie für die Seiten geeignet ist, die Sie einbetten möchten.

// The address of your Looker instance. Required.
export const lookerHost = 'self-signed.looker.com:9999'

// A dashboard that the user can see. Set to 0 to disable dashboard.
export const dashboardId = 1
// A Look that the user can see. Set to 0 to disable look.
export const lookId = 1

Bearbeiten Sie die Datei demo/demo_user.json so, dass sie dem Typ des Nutzers entspricht, den Sie einbetten möchten.

{
  // External embed user ID. IDs are not shared with regular users. Required
  "external_user_id": "user1",
  // First and last name. Optional
  "first_name": "Pat",
  "last_name": "Embed",
  // Duration before session expires, in seconds. Required.
  "session_length": 3600,
  // Enforce logging in with these permissions. Recommended.
  "force_logout_login": true,
  // External embed group ID. Optional.
  "external_group_id": "group1",
  // Looker Group IDs. Optional
  "group_ids": [],
  // Permissions. See documentation for details. Required.
  // Can any combination of:
  //   access_data
  //   see_looks
  //   see_user_dashboards
  //   see_lookml_dashboards
  //   explore
  //   create_table_calculations
  //   download_with_limit
  //   download_without_limit
  //   see_drill_overlay
  //   see_sql
  //   save_content
  //   embed_browse_spaces
  //   schedule_look_emails
  //   send_to_sftp
  //   send_to_s3
  //   send_outgoing_webhook
  //   schedule_external_look_emails
  "permissions": [
    "access_data",
    "see_looks",
    "see_user_dashboards",
    "explore"
    "save_content",
    "embed_browse_spaces"
  ],
  // Model access permissions. Required.
  "models": ["powered_by", "thelook"],
  // User attributes. Optional.
  "user_attributes": { "locale": "en_US" },
}

Schritt 3: Demo erstellen und ausführen

Knotenserver

  1. Führen Sie npm install aus
  2. Führen Sie npm start aus

Der Server druckt den Host und den Port aus, auf dem er ausgeführt wird. Wenn es sich nicht um http://localhost:8080 handelt, musst du es deiner Zulassungsliste für eingebettete Domains hinzufügen.

Python-Server

  1. Führen Sie npm install aus
  2. Führen Sie npm run python aus

Der Server druckt den Host und den Port aus, auf dem er ausgeführt wird.

Unter Umständen müssen Sie pip install six installieren, um die Python 2/3-Kompatibilitätsebene zu installieren.