我正在使用React-Redux开发PWA应用程序。使用Adal进行Azure登录。为用户启用了2因素身份验证。
问题出现在iOS上,当用户获得Pin for 2 FA并切换远离app以查看消息传递应用程序中的pin并返回PWA应用程序时,PWA刷新并将用户带到登录页面。
我到处搜索,找不到任何答案。
iOS 12.2刚刚在2天前发布,它解决了这个问题:
PWA(Progressive Web App)具有新的生命周期,在大多数正常情况下,应用程序的状态将在会话之间保存和恢复。
指向外部站点的链接将在“PWA In-App浏览器”中打开而不是Safari,如果外部站点再次链接到PWA的范围,则导航将返回到PWA。现在,我们可以在PWA中登录外部来源的用户(例如使用OAuth)。感谢Medium article
尝试使用IndexedDB维护状态。这将适用于iOS Safari上的PWA。使用indexedDB的另一个优点是,位于PWA之外的同一域上的页面可以写入IndexedDB,并且可以读取数据,验证任何加密签名,并由PWA使用,PWA也可以访问IndexedDB。