setUserId Method

Callable

  • setUserId(userId: string ) : Promise < void >
  • Sets a new user identifier and moves user files to this user's folders.

    Before using this method, you must enable the secure mode and update an authentication token by using the additionalUserId parameter with the new user identifier.

    example
    <html>
    <head>
        <title>Setting a new user ID</title>
        <!-- The IFrame API script. IMPORTANT! Do not remove or change the ID. -->
        <script id="CcIframeApiScript" type="text/javascript" src="https://example.com/Resources/Generated/IframeApi.js">
        </script>
    </head>
    <body>
        <!-- The iframe to display the editor in. -->
        <iframe id="editorFrame" width="100%" height="800px"></iframe>
        <input type="button" value="Set User ID" onclick="setUserID()" />
    
        <script>
            var editor = null;
    
            document.addEventListener('DOMContentLoaded', async () => {
                // Initialize product with an Invitation template.
                const productDefinition = { surfaces: ["invitation"] };
                // Get the iframe element to display the editor in.
                const iframe = document.getElementById("editorFrame");
                // Load the editor.
                editor = await CustomersCanvas.IframeApi.loadEditor(iframe, productDefinition)
                    // If there was an error thrown when loading the editor.
                    .catch(e => console.log(e));
            });
    
            // Set JohnWood as a new user ID.
            async function setUserID() {
                var userId = await editor.configuration.getUserId();
                // Get an active token for the current user.
                var token = (await (await fetch("https://example.com/api/Auth/Users/" + userId + "/Tokens",
                    {
                        method: "GET",
                        headers: { "X-CustomersCanvasAPIKey": "UniqueSecurityKey" }
                    })).json()).tokens[0].tokenId;
    
                // Update the token for another user.
                await fetch("https://example.com/api/Auth/Tokens/" + token + "?AdditionalUserId=JohnWood", {
                    method: "PUT",
                    headers: { "X-CustomersCanvasAPIKey": "UniqueSecurityKey" }
                });
    
                // Copy user files.
                editor.configuration.setUserId("JohnWood")
                    .catch(e => console.log(e));
            }
        </script>
    </body>
    </html>
    

    Parameters

    • userId: string

      The new user identifier that needs to be set for the product.

    Returns Promise < void >