Disable service worker in <Iframe> - iframe

I need to disable service workers in <iframe>
I build offline PWAs for clients and have a number of demo PWAs running for my potential clients to test on their devices. I also wish to put these PWAs on my website in iframes, but when I do this, the viewer receives a browser notification stating that the app is installed on their device. This causes some alarm because the viewer might not be expecting this as they click through my website. I want to display the apps in an iframe without service worker activation, and with links inviting them to open the app in a new tab which they can then get the full PWA experience if they wish.
Thanks.

Related

PWA with Windows Authentication

On the high level, I have a PWA with React frontend and .netcore backend. I use service worker for caching and offline ability, in conjunction with workbox plugins for some precaching feature.
The app uses Windows Authentication. Which works fine if it wasn't a PWA app. It also works fine the first time the PWA app launches, I get the username, password login popup.
However from the second time visiting the app, it wouldn't show the login popup, the app fails at pulling data from the backend because it is unauthenticated. One weird behavior is that, if I open Chrome Dev Tools(by F12), then the login popup immediately shows up.
I thought it's caching related and somehow the service worker interfered with the server side authentication workflow. Maybe because the index page is cached by the workbox precache plugins, and it did not cache with the fetch header of 'credentials': 'include'? I tried adding the fetch option to other api routes, which are cached by workbox plugin RegisterRoute. However I didn't find a way to add it to the precacheAndRoute(self.__WB__MANIFEST). Wondering if that's the problem. But I'm also not sure why having Dev Tools open would trigger the popup to display.
Any input is appreciated.

Embedded website showing in msteams webapp but not desktop app

I am building a custom ms teams application with tab capability. And I am embedding a work website inside the tab. The website loads fine in the web app. However it doesn't show in the desktop app. There is one hack to it though. If I switch to developer mode on the desktop app, it is loading the website. My website is SSO enabled for login, so it is redirecting to Idp site. One thing I have understood is, the Idp site doesn't allow their content to be loaded in an iframe, and ms teams uses iframe to load webcontent. But then I am wondering what is different for a developer mode. Why does it work there? Also since it works fine in the browser app, shouldn't it work in desktop app too. I mean the behaviour should be consistent. Any pointers?
could you please follow this document and you need to use microsoftTeams.authentication.authenticate() to show the popup.

Can I use Firebase Dynamic Links for a web app?

I don't see any option for Web under "receiving dynamic links" in Firebase Dynamic links page.
Without the SDK, there's no way to connect a post-install user with a pre-install click.
I have a desktop app that runs on node.js like a web app, using nw.js. What I'm trying to do is create referral links for users. After someone clicks a referral link, I need to be able to track his referrer. But the problem is that link is only going to take him to the download page, after he downloads and opens up the app for the first time, how can I reach his referrer info? The desktop app has no connection with the website that users download from.
I understand that this can be done with Dynamic Links SDK but can I use that SDK in a web app?(desktop app actually but runs with HTML/node.js)
The post-install deeplinking in Dynamic Links is just for Android and iOS - so there isn't an equivalent for a desktop app.

Launch Google Sign-In page in current tab/window

Currently integrating Google's Sign-In for a website application. It's a responsive website that scales down nicely to work on mobile device browsers.
Rather than the Sign-In page launching in a new popup window I'd like it to launch in the current window/tab, especially because this would improve the UX on mobile devices where new windows are more troublesome to navigate between.
But I've read that in order to launch Sign-In within the same window I would need to integrate Google's more complex OAuth 2.0 authorization system, which I'd prefer to avoid due to its complexity and because the standard Sign-In system supplies everything the website app currently needs.
Can the OAuth2 route be avoided at all please?

Office 365 app inside iframe?

OK, guys need some advice with runing ASP.Net app inside iframe.
I have a CMS and ASP.Net app which talks to Office 365.
Because I couldn't integrate my app into CMS (authentication issue) I am calling my office app using jQuery Window
Plugin which has two advantages:
I styled the window to look as though its part of the CMS
It has onClose event which I was able to use as a trigger that I need to update UI
Everything works great. Only issue is when user goes to sign in. Because Office API call a remote service it redirects my office app to the authentication page. And this breaks the iframe. Leaving user to stare at a blank dialog window till they get bored.
Prior to discovering that plugin I used normal javascript window.open() which opened up a new browser window for me where everything works fine. But the biggest problem for me is that inside CMS context I can't tell when/if user has finished using my office app. Therefore I have no hooks I can rely on to trigger UI update leaving user to just refresh the page.
Is there anything I can do to get around my problem (apart from integrating my office app with CMS)?
ps:
My office is basically sending HTTP messages across the web to CMS in order to do what needs to be done.
pss:
My office app in turn uses latest Office 365 API to talk to its services.
Apologies guys. Just confirmed that Office 365 is configure not to display inside iframes.
That pretty much leaves only two options:
running a separate browser window
tighter integration with CMS (ideal)

Resources