从iOS中具有自定义URL方案的BankID应用程序重定向(Flutter)不起作用



在用户输入安全代码后,我正试图从BankId应用程序重定向到我的Flutter应用程序。

它在Android中运行良好,但在iOS中,当我将URL重定向设置为自定义URL方案时,它不会自动返回到应用程序。

if (Platform.isIOS) {
const redirect = "rememberapp://";
url = "https://app.bankid.com/?autostarttoken=[$autoToken]&redirect=$redirect";
if (await canLaunch(url)) {
await launch(url, forceSafariVC: false);
} else {
throw 'Could not launch $url';
}}

当我在safari中添加URL方案时,它会打开应用程序,但当我试图从另一个应用程序重定向时,它不起作用。

对于IOS中的重定向URL,您需要首先在应用程序中设置深度链接。步骤:

  • 注册自定义URL
  • 通过配置方案、主机和路径来侦听应用程序内部的自定义URL
  • 最后,现在您的应用程序已设置为侦听特定的url,请将该url添加为重定向

最后,使用以下格式启动您的瑞典银行ID应用程序:

设url=url(字符串:";https://app.bankid.com/?redirect=https://com.sampleapp.deeplink.app/"(UIApplication.shared.open(url!,选项:[.universalLinksOnly:true]({(成功(在/handle成功/失败中}

首先,尝试此BankId重定向,无需令牌,也无需创建BankId测试帐户,因为银行id将生成一个没有现有帐户的错误,但它会自动将您重定向回您的应用程序。

成功测试深度链接后,创建一个测试BankID帐户,并使用Signicat Express Authentication REST API开始用户验证(请参阅此处的高级文档:https://developer.signicat.com/express/docs/identification/#guidesAPI详细参考如下:https://developer.signicat.com/express/apis/authentication.html#tag/Sessions)

或者使用Signicat所谓的"无头"流开始用户验证https://api.signicat.io/identification/v2/sessions

最新更新