我有一个使用LinkedIn's OAuth API处理用户登录的Web应用程序。该页面重定向到LinkedIn的域,然后在用户通过身份验证后返回我的域。通过Safari将我的应用程序添加到iOS上的主屏幕后运行我的应用程序时,LinkedIn身份验证页面将在Safari中打开,而不是在主屏幕应用程序中打开。
我认为这是因为linkedin.com在应用程序的网络清单的scope
属性之外?
是否有人可以在主屏幕应用程序中保留这样的整个跨域登录流程?我还试图找出这种行为是否符合规范的精神(或者这种行为是否未定义)。
Android的Chrome浏览器的主屏幕应用中似乎包含跨域重定向的优先级:
https://bugs.chromium.org/p/chromium/issues/detail?id=771418
Standalone PWA breaks login
将登录页面添加到iOS的主屏幕后,您可以尝试通过fizzr.io上的LinkedIn登录来查看此行为。只需点击LinkedIn按钮,即可在Safari中从外部打开登录流程。
这是我的应用清单:
{
"name": "fizzr.io",
"short_name": "fizzr.io",
"icons": [
{
"src": "app-icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "app-icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone",
"start_url": "/",
"scope": "/"
}
答案 0 :(得分:0)
我认为自iOS 12.2 Beta 1的Safari起,此问题现已修复。 https://twitter.com/tomayac/status/1089819735292866560