【问题标题】:Redirecting from BankID app with custom URL scheme in iOS (Flutter) not working在 iOS(Flutter)中使用自定义 URL 方案从 BankID 应用程序重定向不起作用
【发布时间】:2020-08-05 11:09:59
【问题描述】:

我正在尝试在用户输入安全码后从 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 flutter redirect url-scheme bankid


【解决方案1】:

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

  • 注册自定义网址
  • 通过配置方案、主机和路径在应用程序中监听您的自定义 URL
  • 最后,既然您的应用程序已设置为侦听特定 url,请将该 url 添加为重定向。

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

让 url = URL(string: "https://app.bankid.com/?redirect=https://com.sampleapp.deeplink.app/") UIApplication.shared.open(url!, options: [ .universalLinksOnly:true]) { (success) in / 处理成功/失败 }

首先,在不使用令牌且不创建 bankiD 测试帐户的情况下尝试此 BankId 重定向,因为银行 ID 会生成没有现有帐户的错误,但它会自动将您重定向回您的应用程序。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多