Integrering med ett program som inte är Adobe integrate-asset-selector-non-adobe-app

Med Resursväljaren kan du integrera med olika program från andra tillverkare än Adobe eller från tredje part så att de kan fungera tillsammans sömlöst.

Förutsättningar prereqs-non-adobe-app

Använd följande förutsättningar om du integrerar resursväljare med ett program som inte är Adobe:

Resursväljaren stöder autentisering till databasen Experience Manager Assets med hjälp av Identity Management System-egenskaper (IMS) som imsScope eller imsClientID när du integrerar den med ett program som inte är Adobe.

Konfigurera resursväljare för ett program som inte är Adobe configure-non-adobe-app

Om du vill konfigurera resursväljaren för ett program som inte är Adobe måste du först logga en supportanmälan för etablering följt av integrationsstegen.

Logga en supportanmälan log-a-support-ticket

Steg för att logga en supportanmälan via Admin Console:

  1. Lägg till Resursväljaren med AEM Assets i biljettens titel.

  2. Ange följande information i beskrivningen:

    • Experience Manager Assets som en Cloud Service-URL (program-ID och miljö-ID).
    • Domännamn där webbprogrammet som inte kommer från Adobe finns.

Integreringssteg non-adobe-app-integration-steps

Använd den här exempelfilen index.html för autentisering när resursväljaren integreras med ett program som inte är Adobe.

Gå till resursväljarpaketet med taggen Script, som visas på rad 9 till rad 11 i exempelfilen index.html.

Rad 14 till rad 38 i exemplet beskriver IMS-flödesegenskaperna, till exempel imsClientId, imsScope och redirectURL. Funktionen kräver att du definierar minst en av egenskaperna imsClientId och imsScope. Om du inte definierar ett värde för redirectURL används den registrerade omdirigerings-URL:en för klient-ID:t.

Eftersom du inte har skapat någon imsToken använder du funktionerna registerAssetsSelectorsAuthService och renderAssetSelectorWithAuthFlow, vilket visas på rad 40 till rad 50 i exempelfilen index.html. Använd funktionen registerAssetsSelectorsAuthService före renderAssetSelectorWithAuthFlow för att registrera imsToken med resursväljaren. Adobe rekommenderar att registerAssetsSelectorsAuthService anropas när du instansierar komponenten.

Definiera autentiseringen och andra Assets as a Cloud Service åtkomstrelaterade egenskaper i avsnittet const props, vilket visas på rad 54 till rad 60 i exempelfilen index.html.

Den globala variabeln PureJSSelectors, som omnämns i rad 65, används för att återge resursväljaren i webbläsaren.

Resursväljaren återges på behållarelementet <div>, vilket anges på rad 74 till rad 81. I exemplet används en dialogruta för att visa resursväljaren.

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <title>Asset Selectors</title>
    <link rel="stylesheet" href="index.css">
    <script id="asset-selector"
        src="https://experience.adobe.com/solutions/CQ-assets-selectors/static-assets/resources/assets-selectors.js"></script>
    <script>

        const imsProps = {
            imsClientId: "<obtained from IMS team>",
            imsScope: "openid, <other scopes>",
            redirectUrl: window.location.href,
            modalMode: true, // false to open in a full page reload flow
            onImsServiceInitialized: (service) => {
                // invoked when the ims service is initialized and is ready
                console.log("onImsServiceInitialized", service);
            },
            onAccessTokenReceived: (token) => {
                console.log("onAccessTokenReceived", token);
            },
            onAccessTokenExpired: () => {
                console.log("onAccessTokenError");
                // re-trigger sign-in flow
            },
            onErrorReceived: (type, msg) => {
                console.log("onErrorReceived", type, msg);
            },
        }

        function load() {
            const registeredTokenService = PureJSSelectors.registerAssetsSelectorsAuthService(imsProps);
            imsInstance = registeredTokenService;
        };

        // initialize the IMS flow before attempting to render the asset selector
        load();


        //function that will render the asset selector
            const otherProps = {
            // any other props supported by asset selector
            }
            const assetSelectorProps = {
                "imsOrg": "imsorg",
                ...otherProps
            }
             // container element on which you want to render the AssetSelector/DestinationSelector component
            const container = document.getElementById('asset-selector');

            /// Use the PureJSSelectors in globals to render the AssetSelector/DestinationSelector component
            PureJSSelectors.renderAssetSelectorWithAuthFlow(container, assetSelectorProps, () => {
                const assetSelectorDialog = document.getElementById('asset-selector-dialog');
                assetSelectorDialog.showModal();
            });
        }
    </script>

</head>
<body class="asset-selectors">
    <div>
        <button onclick="renderAssetSelectorWithAuthFlowFlow()">Asset Selector - Select Assets with Ims Flow</button>
    </div>
        <dialog id="asset-selector-dialog">
            <div id="asset-selector" style="height: calc(100vh - 80px); width: calc(100vw - 60px); margin: -20px;">
            </div>
        </dialog>
    </div>
</body>

</html>

Det går inte att komma åt leveransdatabasen unable-to-access-delivery-repository

TIP
Om du har integrerat resursväljare med hjälp av arbetsflödet Registrera dig för inloggning men fortfarande inte kan komma åt leveransdatabasen, kontrollerar du att cookies i webbläsaren har rensats bort. Annars får du ett invalid_credentials All session cookies are empty-fel i konsolen.
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab