Leo
Leo

Reputation: 171

Domain is not trusted using Word 2016 while opening Dialog to remote url

I am trying to call other domain url from the add-in using the Dialog API.

It works fine in Word Online but in Word Desktop it is throwing an error: "Domain is not trusted".

I have added the domain to the AppDomains array in the manifest but I still get this error:

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">
  <!-- BeginBasicSettings: Add-in metadata, used for all versions of Office unless override provided -->

  <!--IMPORTANT! Id must be unique for your add-in, if you clone this manifest ensure that you change this id to your own GUID -->
  <Id>28da4ead-1448-449a-aa31-c08193eca9c2</Id>

  <!--Version. Updates from the store only get triggered if there is a version change -->
  <Version>1.0.0.0</Version>
  <ProviderName>Acrowit, Inc. DBA WittyParrot</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <!-- The display name of your add-in. Used on the store and various placed of the Office UI such as the add-ins dialog -->
  <DisplayName DefaultValue="P365-DEV" />
  <Description DefaultValue="P365-DEV"/>

  <!--Icon for your add-in. Used on installation screens and the add-ins dialog -->
  <IconUrl DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_32px.png" />
  <HighResolutionIconUrl DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_128px.png" />
  <SupportUrl DefaultValue="http://support.parrot365.com/support/home" />

  <!--BeginTaskpaneMode integration. Office 2013 and any client that doesn't understand commands will use this section.
    This section will also be used if there are no VersionOverrides -->
  <Hosts>
    <Host Name="Document" />
  </Hosts>
  <AppDomains>
    <AppDomain>https://dev2.wittyparrot.com:3001</AppDomain>
  </AppDomains>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://p365.wittyparrot.com:3000?source=msoffice" />
  </DefaultSettings>
  <!--EndTaskpaneMode integration -->

  <Permissions>ReadWriteDocument</Permissions>

  <!--BeginAddinCommandsMode integration-->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <!-- Optional, override the description of the Add-in -->
    <Description resid="residToolTip" />
    <!--Required, hosts node. Each host can have a different set of commands -->
    <Hosts>
      <!--Specific host. Workbook=Excel, Document=Word, Presentation=PowerPoint -->
      <Host xsi:type="Document">
        <!-- Form factor. Currenly only DesktopFormFactor is supported. We will add TabletFormFactor and PhoneFormFactor in the future-->
        <DesktopFormFactor>

          <!--GetStarted information used on the callout that appears when installing the add-in.
            Ensure you have build 16.0.6769 or above for GetStarted section to work-->
          <GetStarted>
						<!--Title of the Getting Started callout. resid points to a ShortString resource -->
						<Title resid="Witty.GetStarted.Title"/>

						<!--Description of the Getting Started callout. resid points to a LongString resource -->
						<Description resid="Witty.GetStarted.Description"/>

						<!--Not used right now but you need to provide a valid resource. We will add code in the future to consume this URL.
							resid points to a Url resource -->
						<LearnMoreUrl resid="Witty.GetStarted.LearnMoreUrl"/>
		  </GetStarted>
		  <FunctionFile resid="residDesktopFuncUrl" />
          <!--PrimaryCommandSurface==Main Office Ribbon-->
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
			<OfficeTab id="TabHome">
              <!--Group. Ensure you provide a unique id. Recommendation for any IDs is to namespace using your companyname-->
              <Group id="Witty.Citations.Group1Id1">
                <!--Label for your group. resid must point to a ShortString resource -->
                <Label resid="residLabel4" />
                <!--Icons. Required sizes 16,31,80, optional 20, 24, 40, 48, 64. Strongly recommended to provide all sizes for great UX -->
                <!--Use PNG icons and remember that all URLs on the resources section must use HTTPS -->
                <Icon>
                  <bt:Image size="16" resid="icon1_16x16" />
                  <bt:Image size="32" resid="icon1_32x32" />
                  <bt:Image size="80" resid="icon1_80x80" />
                </Icon>
                 <!--Control. It can be of type "Button" or "Menu" -->
                <Control xsi:type="Button" id="Button3Id1">
                  <!--Label for your button. resid must point to a ShortString resource -->
                  <Label resid="residLabel3" />
                  <Supertip>
                    <!--ToolTip title. resid must point to a ShortString resource -->
                    <Title resid="residLabel" />
                     <!--ToolTip description. resid must point to a LongString resource -->
                    <Description resid="residToolTip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="icon1_16x16" />
                    <bt:Image size="32" resid="icon3_32x32" />
                    <bt:Image size="80" resid="icon1_80x80" />
                  </Icon>
                  <!--This is what happens when the command is triggered (E.g. click on the Ribbon). Supported actions are ExecuteFuncion or ShowTaskpane-->
                  <Action xsi:type="ShowTaskpane">
                    <!--Provide a url resource id for the location that will be displayed on the taskpane -->
                    <SourceLocation resid="residUnitConverterUrl" />
                  </Action>
                </Control>
              </Group>
            </OfficeTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="icon1_16x16" DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_16px.png">
        </bt:Image>
        <bt:Image id="icon1_32x32" DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_32px.png">
        </bt:Image>
        <bt:Image id="icon1_80x80" DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_80px.png">
        </bt:Image>
		<bt:Image id="icon2_32x32" DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_32px.png">
        </bt:Image>
        <bt:Image id="icon3_32x32" DefaultValue="https://p365.wittyparrot.com:3000/resources/assets/images/parrot365/word_icons/p365_word_32px.png">
        </bt:Image>
      </bt:Images>
      <bt:Urls>
		 <bt:Url id="residDesktopFuncUrl" DefaultValue="https://p365.wittyparrot.com:3000?source=msoffice">
        </bt:Url>
        <bt:Url id="residUnitConverterUrl" DefaultValue="https://p365.wittyparrot.com:3000?source=msoffice">
        </bt:Url>
          <!--LearnMore URL currently not used -->
        <bt:Url id="Witty.GetStarted.LearnMoreUrl" DefaultValue="https://p365.wittyparrot.com:3000">
        </bt:Url>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="residLabel" DefaultValue="Launch Widget">
        </bt:String>
        <bt:String id="residLabel3" DefaultValue="Parrot365">
        </bt:String>
        <bt:String id="residLabel4" DefaultValue=" ">
        </bt:String>
        <bt:String id="Witty.GetStarted.Title" DefaultValue="Parrot365 Document Assembler Loaded Successfully">
        </bt:String>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="residToolTip" DefaultValue="Instantly assemble proposals, contracts, legal docs using pre-created reusable content and templates.">
        </bt:String>
         <bt:String id="Witty.GetStarted.Description" DefaultValue="Instantly assemble proposals, contracts, legal docs using pre-created reusable content and templates.">
        </bt:String>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>

Upvotes: 2

Views: 522

Answers (1)

Marc LaFleur
Marc LaFleur

Reputation: 33124

You cannot directly open a remote URI using the Dialog API. From the documentation:

The page, controller method, or other resource that is passed to the displayDialogAsync method must be in the same domain as the host page.

In order to open a remote URI, you'll need to first open the dialog using a URI within the same domain (i.e. local to your add-in). This needs to be a standard Office add-in page that both references office.js and defines an Office.initialize method. Once you have this page opened, you can redirect to any remote domain listed within the AppDomains array in your manifest.

Also note that you need initialize to complete so your redirect needs to fire after initialize:

Office.initialize = function () {
     window.location = "https://dev2.wittyparrot.com:3001";
};

Upvotes: 2

Related Questions