当我使用用于在线身份验证的服务时,会得到一个URL进行导航,该URL将自动打开用于密码输入的应用程序。
URL的格式如下:
bankid:///?autostarttoken=2a1b5e2c-c9fb-4402-1239-2a1619d655e9&redirect=null
仅在安装了某个应用程序的移动设备上,对此类网址的导航才有意义。
尽管如此,桌面浏览器(并非所有人)也尝试导航到这样的URL,就像可能的那样。那当然会导致错误页面。
他们为什么这样做?
我需要使用隐藏表格吗?
每个移动部门都会尊重吗?
答案 0 :(得分:0)
自定义URL方案用于能够在本地启动应用程序,在这种情况下,是处理2FA的BankID客户端。
只要注册了自定义网址方案,此方法在移动设备和台式机上均能很好地工作。 AFAIK移动版,如果未在本地注册URL方案,它将查询应用商店并让用户从那里安装。 BankID在Appstore中可用于iPhone和Android。在Windows上,它还会查询appstore,但是BankID客户端不能作为Windows App使用,因此必须从https://install.bankid.com手动安装。在Mac上,我不知道它是否查询应用商店,但我知道必须从https://install.bankid.com
手动安装它Android,iPhone,Windows Phone,Windows Mobile,Windows XP和更高版本,MacOSX均采用自定义URL方案,但浏览器也必须采用自定义URL方案,所有主要浏览器都采用这种方案。
从历史上看,在移动之前,我们曾经使用浏览器中的NSS插件支持来启动程序。 NSS插件支持已被浏览器删除,因为从安全角度来看很容易滥用。
这就是为什么使用自定义URL方案的原因。
正如您在BankID relying party guidelines中所了解的那样,这里有一个过渡,可以使用https://app.bankid.com链接来启动客户端。基本上,这只是一个类似于bankid://的自定义url方案,但是同时注册了协议(https://)和主机(app.bankid.com),然后启动了该应用程序。这样做还有一个好处,就是如果尚未安装客户端并且无法通过应用商店或类似商店找到客户端的用户将可以使用该网站,然后可以帮助用户安装客户端。 / p>
由于应用链接的目的是在URL不在本地注册的情况下让用户导航到该网站,所以请不要隐藏导航。