我一直在尝试让谷歌的智能锁在我拥有的两个应用程序之间工作(不幸的是使用不同的密钥库),但没有任何运气。
在 Smart Lock 中保存一个应用程序的密码非常简单(APP 1)做类似的事情:
Credential credential = new Credential.Builder(email)
.setPassword(password)
.build();
Auth.CredentialsApi.save(mCredentialsApiClient, credential).setResultCallback(...
然而,当我尝试制作一个CredentialRequest
in APP 2它无法读取保存的相同凭据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(...
但我得到一个例外,说明你不能同时设置password
and accountType
使用相同的凭证(与文档所述相符)。
有人在两个应用程序之间尝试过类似的操作吗?
我应该注意,我目前无法将应用程序中的凭据与我的网站登录绑定起来,因此无法使用Digital Asset Links
机制。
出于安全原因,数字资产链接 https://developers.google.com/identity/smartlock-passwords/android/associate-apps-and-sites是将多个应用程序与不同的包名称和签名证书关联起来以使用 Smart Lock 检索密码的唯一方法。
如果您尚不支持来自网站的凭据,则只需从数字资产链接文件中排除“web”目标,并且凭据将仅在应用程序之间共享(但您仍然必须在某处托管该文件并包含指向的链接)该文件在两个应用程序清单中)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)