【问题标题】:Google Smart Lock across multiple apps跨多个应用程序的 Google Smart Lock
【发布时间】:2017-03-30 13:35:57
【问题描述】:

我一直试图让 Google 的 Smart Lock 在我拥有的两个应用程序之间工作(不幸的是使用不同的密钥库),但没有任何运气。

在 Smart Lock 中为一个应用(APP 1)保存密码非常简单,可以执行以下操作:

Credential credential = new Credential.Builder(email)
            .setPassword(password)
            .build();
Auth.CredentialsApi.save(mCredentialsApiClient, credential).setResultCallback(...

但是,当我尝试在 APP 2 中创建 CredentialRequest 时,它无法读取从 APP 1 保存的相同凭据。 我尝试将accountType 设置为它们之间的相同标识符,例如:

Credential credential = new Credential.Builder(email)
            .setPassword(password)
            .setAccountType(ACCOUNT_TYPE)
            .build();
Auth.CredentialsApi.save(mCredentialsApiClient, credential).setResultCallback(...
...
CredentialRequest request = new CredentialRequest.Builder()
            .setAccountTypes(ACCOUNT_TYPE)
            .build();

Auth.CredentialsApi.request(mCredentialsApiClient, request).setResultCallback(...

但我收到一个异常,指出您不能在同一个凭据上同时设置 passwordaccountType(这与文档中的说明相符)。

有人在两个应用程序之间尝试过类似的东西吗? 请注意,目前我无法将应用中的凭据与我的网站登录绑定,因此无法使用Digital Asset Links 机制。

【问题讨论】:

    标签: android google-smartlockpasswords


    【解决方案1】:

    出于安全原因,digit asset linking 是将多个应用程序与不同包名称和签名证书相关联以使用 Smart Lock 检索密码的唯一方法。

    如果您尚不能支持来自网站的凭据,则只需从数字资产链接文件中排除“网络”目标,凭据将仅在应用程序之间共享(但您仍必须将文件托管在某处并包括两个应用清单中的此文件的链接)。

    【讨论】:

    • 非常感谢,我认为可能是这样。我还需要通过 Play 商店发布来测试它的工作原理吗?无法提交测试版来检查自己。还是有其他方法可以强制应用验证数字资产链接文件?
    • 我们只能处理已发布的 Play 商店应用的链接,但您可以发布到私人测试版频道。发布后,爬虫需要几天的时间来获取文件并处理它,抱歉不是更快:/
    • 谢谢!提交到我的 Play 商店测试版来看看 ?
    • 包名是什么?我帮你查一下。
    • 嗨@StevenSoneff,如果应用程序共享相同的签名证书会发生什么? Smart Lock 是否仍需要使用数字资产链接才能为每个应用使用相同的密码?
    猜你喜欢
    • 2016-04-18
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2018-04-16
    • 2018-07-18
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多