我们有一个用Angular编写的PWA,我们使用AzureAD(使用ng-adal)进行登录.
当我们登录时,正在进行一系列重定向,直到我们回到我们的应用程序(使用auth票证).如果我们配置"manifest.json" display:browser,一切都按预期工作.如果我们将其设置为,问题就出现了display:standalone.这样,当我们在Android中安装它时,我们可以获得原生应用程序的外观(没有浏览器镶边,启动画面......)但是登录中断了.
我们得到的结果是AzureAD页面在浏览器视图中打开(预期),但是重定向到我们的页面仍然在浏览器视图上(左下角有一个X按钮).在这个"浏览器视图"中,我们通过了身份验证,但是如果我们使用X按钮,则此视图将关闭,我们将返回到PWA,但仍保持未经身份验证.
想知道可能会发生什么?
谢谢!
添加了一个简单的例子(它是另一件事的测试).
右上角的图标会重定向到另一个重定向回此页面的域.如果我们将应用程序添加到Android主屏幕(它没有添加所有图标,因为我没有完全配置PWA清单,但效果是可查看的),我们看到单击图标,Web视图将打开转到第一个重定向但仍然打开第二个重定向.
我期望的是第二次重定向将在没有web-view chrome的情况下gopack到我的PWA.
android azure azure-active-directory progressive-web-apps angular
我一直在使用React和Next.js开发应用程序,目前正在添加PWA支持.
用户通过Google OAuth流程登录该应用.我最初使用的是JS客户端,它使用弹出窗口,但在PWA中遇到了错误.我现在通过将用户重定向到Google的OAuth网址来使用正常的OAuth流程.
这在浏览器中工作正常.在iOS上的独立PWA中,它会在新的Safari窗口中打开OAuth页面.这意味着OAuth流程在Safari中执行,最后用户在Safari中使用应用程序而不是独立的PWA.
我正在使用这种方法重定向:
export function setHref(newLocation: string) {
window.location.href = newLocation;
}
Run Code Online (Sandbox Code Playgroud)
这甚至看起来是每个人都建议在重定向PWA时避免弹出窗口的方法.这最近改变了吗?或者是否有另一种方法可以在独立的渐进式Web应用程序中执行重定向/ OAuth流程?