【问题标题】:Android FIDO2 throwing vague errorsAndroid FIDO2 抛出模糊错误
【发布时间】:2021-08-03 16:24:54
【问题描述】:

我正在尝试在 Android 上实现 FIDO2。我将assetlinks.json 托管在我的域上(抱歉,我不希望并且不确定是否允许我透露整个网址)。 我定义了 assets_statements 字符串并将其添加到我的清单中,并且我还实现了整个获取注册质询逻辑,其中我正在从 PublicKeyCredentialCreateOptions 创建一个待处理的意图。 在我启动意图后,我看到一个白屏,它显示出来并很快关闭,没有任何描述性错误或任何东西,我不知道如何调试这个问题。日志显示:

ActivityTaskManager: Displayed com.google.android.gms/.fido.fido2.ui.Fido2FullScreenActivity
E/Fido: [DigitalAssetsAssociationChecker] JSON Object doesn't have linked key
E/Fido: [Fido2RequestController] The incoming request cannot be validated
E/Fido: [Fido2RequestController] The incoming request cannot be validated

https://developers.google.com/digital-asset-links/tools/generator 上,它表示我的域授予应用程序深度链接到我的包名称。

我正在使用com.google.android.gms:play-services-fido:18.1.0

日志中的错误在任何方面都没有帮助,我不确定我是否仍然在这里遗漏了什么,我们将不胜感激。

【问题讨论】:

    标签: android authentication webauthn fido


    【解决方案1】:

    好的,我通过使用示例应用程序https://github.com/googlecodelabs/fido2-codelab 并改变周围的东西来解决这个问题,所以我要回答我自己的问题。 请求注册质询时,RP.id 字段需要与您的域名相同。 在示例中,Rp.id 值为“webauthn-codelab.glitch.me”,我将其更改为“webauthn.glitch.me”只是为了尝试会发生什么。你猜怎么着,我得到了和以前一样的错误:

    E/Fido: [DigitalAssetsAssociationChecker] JSON Object doesn't have linked key
    E/Fido: [Fido2RequestController] The incoming request cannot be validated
    E/Fido: [Fido2RequestController] The incoming request cannot be validated
    

    最后,确保从后端返回的 RP.id 与域 url 匹配。 这里还有一个解释 RP id 的链接:https://www.w3.org/TR/webauthn-2/#relying-party-identifier

    【讨论】:

      【解决方案2】:

      Fido2ApiClient.getSignPendingIntent() 调用时遇到了同样的错误JSON Object doesn't have linked key。 我的情况的解决方案是在 allowList 中设置真实用户密钥(又名 id)。

      【讨论】:

        猜你喜欢
        • 2011-01-17
        • 1970-01-01
        • 2011-07-24
        • 2021-11-23
        • 1970-01-01
        • 2018-04-26
        • 1970-01-01
        • 2015-01-10
        • 1970-01-01
        相关资源
        最近更新 更多