Kontextreferenz zu Fusion
Wenn Ihre Benutzeroberfläche attach(...) aufruft, gibt Fusion ein context-Objekt frei, das die aktuelle Sitzung beschreibt. Auf dieser Seite werden alle Felder, ihre Bedeutung und die Beziehung zwischen den Fusion- und Adobe IMS-Kennungen aufgelistet.
Lesen des Kontexts
- Anfangswerte:
connection.sharedContext.get("<key>") - Updates: Überwachen Sie das
contextchange. Das neueste Objekt kommt amevent.detail.contextan.
Das vollständige Code-Muster finden Sie unter Erstellen der benutzerdefinierten Erweiterungs-Benutzeroberfläche.
const organization = connection.sharedContext.get("organization");
const fusionOrgId = organization?.id; // Fusion's organization id
const imsOrgId = connection.sharedContext.get("imsOrgId"); // Adobe IMS org id
Schlüssel der obersten Ebene
imsTokenBearer-Token, um Adobe- oder Fusion-APIs im Namen des Benutzers aufzurufen. Da dies sensibel ist, sollten Sie dies niemals protokollieren oder anzeigen.imsOrgIdXXXXXXXXXXXX@AdobeOrg.imsUserIdorganizationorganization Felder in diesem Artikel.teamuseruser Felder in diesem Artikel.Fusions-ID und IMS-ID
Jede Entität verfügt über eine Fusion-ID (die von den Fusion-eigenen APIs verwendet wird) und, sofern vorhanden, eine Adobe IMS-ID (die von Adobe Platform-APIs verwendet wird):
organization.idimsOrgId (auch als organization.externalOrgId verfügbar gemacht)team.iduser.idimsUserIdFelder organization
Diese Felder befinden sich im aktiven Organisationsdatensatz. Die meisten Erweiterungen erfordern nur id, name und die Kennungen .
idnameexternalOrgIdimsOrgId).externalIdcountryIdtimezoneIdserviceNameteamIdslicensescenariosCountactiveScenariosactiveAppsoperations, operationsExttransfer, transferExtisPausedisDeletedimsEnabledusersCountFelder team
Diese Felder sind vorhanden, wenn ein Team aktiv ist. Für den Fall, dass das Team undefined wird (z. B. auf einem Bildschirm auf Organisationsebene, wo kein Team ausgewählt ist), müssen Sie einen Fallback bereitstellen.
idnameorganizationIdcountrytimezonelicenseactiveScenariosactiveAppsscenarioDraftsisDeletedFelder user
Diese Felder gelten für den angemeldeten Fusion-Benutzer.
idnameemailavatarlocaleen.languagetimezonetimezoneIdcountryIdlocaleIdfeaturesallow_apps, public_templates).usersAdminsRoleIduser kann zusätzliche interne Felder enthalten. Sie sollten sich nur auf die hier dokumentierten Felder verlassen. Andere Felder können sich ohne Vorankündigung ändern, und einige authentifizierungsbezogene Felder dürfen niemals protokolliert oder angezeigt werden.Daten
Der Kontext wird serialisiert, bevor er Ihre Erweiterung erreicht, sodass Datumsfelder als Zeichenfolgen eintreffen (ISO 8601, z. B. "2026-06-24T00:00:00.000Z") und nicht als JavaScript Date-Objekte. Sie können diese bei Bedarf konvertieren:
const resetDate = new Date(context.organization.nextReset);
Kontextaktualisierungen
Fusion sendet den gesamten Kontext erneut (über contextchange), wenn:
- Der Benutzer wechselt die Organisation,
- der Benutzer wechselt Teams oder
- Die des angemeldeten Benutzers sich.
Lesen Sie immer alle Schlüssel erneut, die Sie in Ihrem contextchange-Handler verwenden, anstatt nur einen geänderten Wert anzunehmen.
Best Practices für die Sicherheit
- Nie protokollieren, anzeigen oder
imsTokenbeibehalten. Behandeln Sie sie wie ein Kennwort. - Senden Sie das Token über HTTPS nur als
Bearer-Token an vertrauenswürdige Adobe/Fusion-Endpunkte. - Speichern Sie keine personenbezogenen Daten aus dem Kontext, der über das hinausgeht, was Ihre Funktion benötigt.
Verwenden des Tokens zum Aufrufen von APIs
So wandeln Sie imsToken (plus organization.id/team.id) in echte Workfront um oder
Fusion-Daten können diese APIs nicht direkt über den Browser aufgerufen werden, da CORS blockiert
Es. Führen Sie den Aufruf stattdessen über eine kleine App Builder-Laufzeitaktion weiter. Siehe
Aufrufen von Workfront- und Fusion-.
Um mit dem Erstellen einer benutzerdefinierten Erweiterung fortzufahren, siehe Veröffentlichen der Erweiterung.