Outlook web app for ios and dialog - outlook-addin

When opening dialog from my add-in using Outlook Web App on iOS, I receive an error. In Windows the solution is to add the site as trusted but how do I do this in iOS? The help link redirect to help for IE 11

You need to add the domain to the AppDomains section of your add-in's manifest file.
<AppDomains>
<AppDomain>https://www.northwindtraders.com</AppDomain>
</AppDomains>
Fixing this in your manifest should resolve this issue across every client. You shouldn't need separate manifests for each platform, add-ins are designed to be cross-platform by nature.

Outlook on the Web for iOS and Android (any Mobile browsers) currently supports API Requirement Set 1.3 and Office.context.ui.displayDialogAsync() is in API Requirement set 1.4. Outlook on the Web in desktop browsers supports API Requirement set 1.5. It is a known issue that Outlook on the Web on mobile browsers is reporting the wrong requirement set support.

Mark, I have configurated the AppDomain but the problem continue. When I try open the login dialog with Office.context.ui.displayDialogAsync
manifest
The dialog is opened in safari but the addin in owa show the picture previous. The dialog after that send user and password should be closed but this not succedd.
I think this happens because of the message I have in the addin. In IE I happened this same but I could configure it with the help page, but in OWA for IOS I do not know how to do it

Related

How to close a window opened in Outlook for Windows from a Outlook web add-in

I am developing a web add-in and I open the Azure AD authentication window in a popup. However, I need to close this popup as soon as authentication is done. I am redirecting the user to another page where I have placed the javascript code to close the window. The code works fine in Chrome on Windows, Mac, also Outlook on Mac. However the code does not work on Outlook for Windows.
Is there any solution in javascript to close the browser window for any browser version and platform?
To avoid trouble with authentication across different browsers use the displayDialog API to complete the authentication workflow. This will allow you to close the dialog once the authentication is completed.

can I use build in browser control(In visual studio item tools) for Auth 2?

You know there is a web browser control in visual basic controls.
When we are using Auth2 for get into Google Apps(Gdrive,GPlay...) it opens a webpage in OS default browser(Chrome , Fire fox...) to get permissions. How can I make it to request from a web browser control on the form without opening other browsers?
The Google .Net client library is designed to open the users default browser for authentication.
The client library does not have the functionality to give you the url you would need to open it in a web browser control.
Sorry this is not possible

Getting error using Firebase popup authentication in Word add-in

I was already using Firebase for authentication for other (related) projects and would like to stick with it.
Using Firebase with a Word add-in seems challenging. On Windows you're stuck with IE11 and on Mac (crucial for me) the browser used to load a taskpane is webkit, not the default browser.
I can get authentication on Windows to work just fine if I use signInWithRedirect (Google and Facebook).
But this won't work on Mac. Using signInWithRedirect opens a new tab in the default browser, which doesn't share cookies/data with the webkit browser the add-in actually uses.
When I switch to signInWithPopup, I get:
There is no application set to open the URL about:invalid%23zClosurez.
On Windows I get a popup IE11 window, for a split second, and it contains about:invalid%23zClosurez for a URL.
I have appdomains called out in my add-in XML manifest:
<AppDomains>
<AppDomain>https://writeitwithme-a114a.firebaseapp.com</AppDomain>
<AppDomain>https://www.firebaseapp.com</AppDomain>
<AppDomain>https://www.googleapis.com</AppDomain>
<AppDomain>https://www.facebook.com</AppDomain>
</AppDomains>
Any help appreciated. Worst case I drop to using manual registration, via Firebase, for Mac, but seems unfortunate to have to give up.
Just documenting for anyone finding this later.
I couldn't figure out how to use Firebase social login when creating an add-in for Mac. Every authentication window opened in the default browser, not the webkit engine used by Word on Mac. Sticking with manual login worked.
IE11 is always finicky when using localhost. I test elsewhere, then push files live and then try IE11 and social + manual login (via popup) works just fine.
I found the following resources from Microsoft docs that made this easier for me:
https://learn.microsoft.com/en-us/office/dev/add-ins/develop/dialog-api-in-office-add-ins
Basically you need to make a call to open up a dialogue box:
Office
.context
.UI
.displayDialogAsync(
'https://myDomain/myDialog.html',
{height: 30, width: 20, displayInIframe: true}
);
Then you can make your own page that does a login flow and passes a message (likely a credential of some kind) back to your plugin via the messageParent method:
Office.context.ui.messageParent(googleProfile);
From there you can do the following to sign in with the credential provided in your add-in:
firebase.auth().signInWithCredential(credential)
Also, be very careful with how you construct the URL of the dialogue box. I lost hours not knowing that the _host_Info param from the origin URL would mess stuff up (I was constructing my new URL from the origin URL). Figured it out in this github issue: https://github.com/OfficeDev/office-js/issues/378

Testing Facebook app on VB.NET WebBrowser - IFrame Access Deined - Cross-Domain Scripting

I have a facebook iframe app I'm trying to test using a WebBrowser Control on a form in VB.NET 2010. Whenever I try to access the WebBrowser.Document.Window.Frames frame object on a document where my app is showing in the broswer, I get an Access Denined exception. Reading around on the web, I see people saying that this is to keep scripts in a document from accessing content in iframes that are pulling content from another domain, as per 'http://msdn.microsoft.com/en-us/library/ms533028.aspx', for security reasons.
While I totally understand why this is done for the general public, how can I disable it on my machine so that I can run these tests? I can't properly test my app without doing it in the facebook iframe and using the WebBrowser control is the only way I know to do this test programmatically.
Any ideas? I'm on windows server 2003 and ie8, .net4.0, if that helps. I own the domain where the app is, and its in AS.NET MVC2, so if there's anything I can do to the web code to enable this??? I also removed the Internet Explorer ENhanced Security COnfiguaration component, but that didn't help.
Thanks,
Philip
Have you tried changing your Internet Explorer settings to enable cross domain scripting?
I believe the VB.Net Web Browser control inherits settings from the local copy of IE.
Try this:
From Internet Explorer, choose Internet Options from the Tools menu.
On the Security tab of the Internet Options dialog box, select the Local Intranet Web Content Zone and then click Custom Level.
Locate the Miscellaneous/Access Data Sources Across Domains setting, and then select Enable, as shown in Figure 2.
Click OK, and then click Yes to the warning dialog box that appears.
Click OK to close the Internet Options dialog box.
Also try adding the Facebook https Url into your trusted sites.
As a last resort disable Native XMLHttp in IE and attempt to revert back to an older version of the XMLHttp object.

Detect Installed Application URI Handler on Webkit browsers

I have a question mainly related to the Iphone web browser but I am hoping the same solution would work on other browsers that are webkit based.
I have a application (Iphone + Android) that registers a handler for custom URI (appuri://) on the Phone. I am able to launch the application by making a link to "appuri://act/launch" from my web pages. This works only if my application is installed on the device. If the device does not have the app installed then a message comes up "Safari was not able to open ....".
What I want to do is detect if the URI Scheme is supported from the browser and then prompt my own message saying "please download the app ..blah blah blah" if the handler for the URI scheme is not found.
Is there a way I can detect or find the list of URL Scheme handlers on the Phone from the Web Browser ?
Protocol handlers are implemented below the browser, and giving foreign code direct access to operating system internals would be a pretty horrible idea, so, not without a plugin.
And since you can't run plugins in Mobile Safari, the answer's probably going to be "no."