【问题标题】:Smart Lock multi account resolution always showing upSmart Lock 多帐户解析始终显示
【发布时间】:2015-12-02 15:42:54
【问题描述】:

我正在我的应用中实施 Google Smart Lock。我已经让它使用单个帐户自动登录用户并且效果很好。

但是,一旦我将第二个帐户添加到组合中,它总是会显示分辨率对话框来选择我想要的帐户。即使在我选择并帐户并重新启动应用程序后,它仍会继续显示。

一旦我选择了我希望智能锁使用的帐户,此对话框将不再显示,那么它仍然显示的一些可能原因是什么?

-谢谢

【问题讨论】:

    标签: android google-smartlockpasswords


    【解决方案1】:

    我在 Google 的 Smart Lock 团队工作,希望这能回答您的问题:

    • 正如您所注意到的,如果调用了 CredentialsApi.request() API 方法并且应用程序保存了多个帐户,这些帐户存储在设备上的一个或多个 Google 帐户中(或者自动登录已被禁用用户为其帐户之一或开发人员通过调用CredentialsApi.disableAutoSignIn())然后API将用getStatusCode()RESOLUTION_REQUIREDCredentialRequestResult进行回调,这意味着必须显示UI以供用户选择凭据接着说。 startResolutionForResult() 将显示对话框,如API overview 中所述。

    • 一旦应用程序拥有凭据(来自自动登录或用户从对话框中选择一个凭据),大多数应用程序将使用此凭据将用户登录到后端服务并与应用程序的 cookie 或令牌,并独立于 Smart Lock API 进行管理。因此,大多数应用在用户登录且当前会话存在后不会再次调用 API,因此在初始登录后不会再次显示对话框。

    • 当用户退出时,调用CredentialsApi.disableAutoSignIn()将阻止用户在再次启动认证活动时自动重新登录,并且当用户从其中选择条目时自动管理和清除禁用状态凭据选择器 UI 或成功的 CredentialsApi.save() 调用,此时,用户会话已建立,无需再次调用 API,直到出现注销事件。

    我认为这个问题的混淆源于在用户登录后调用 API 并且他们可能已经有一个活动会话。那是你的意图吗?如果您需要在用户检索或输入密码后在设备上管理应用程序的凭据,您可以在 Android 上使用Account Manager,它独立于任何 Google 帐户或 API(而 Smart Lock 面向将登录信息保存在云中,以便在新设备或单独设备上跨平台使用,以引导身份验证过程)。

    将来,如果存储了多个帐户并且始终选择同一个帐户,我们会考虑记住用户偏好,从而允许自动登录,但现在,当有多个可用的已保存帐户时,始终需要用户操作.

    如果您需要更多信息或澄清,或者如果这不能回答您的问题,请留下评论并提出任何问题或反馈!

    【讨论】:

    • 谢谢史蒂文,这就是我要找的。我正在开发的应用程序要求用户在每次重新启动应用程序时重新登录,所以我希望它能够自动完成。我目前每次重新启动应用程序时都在检索凭据,并且我正在使用凭据 API 来获取存储的登录信息。在我的情况下,只要有多个帐户,就必须始终显示帐户选择对话框。我确实希望您将来能够添加该额外功能。感谢您的帮助!
    • 很好,您有指向您的应用程序的指针吗?它在 Play 商店中可用吗?我会让我们的 UX / eng 团队看看这个用例,看看我们是否可以提出建议或考虑对 API 进行调整。
    • 那将是一个很大的帮助,这里是 G+ alpha 社区。请加入此链接以下载具有 SmartLock 功能的最新版本。 plus.google.com/communities/109600259045316723754
    • 谢谢,事实证明我已经在小组中并且已经尝试过该应用程序 ;) ... 发送了一些我必须的反馈到 alpha 反馈电子邮件地址 ... 会给这个特殊的问题一些更多的想法,让你知道。
    【解决方案2】:

    当您有多个帐户时,您将始终显示此解决方案对话框。 看看这个 :

    来自:https://developers.google.com/identity/smartlock-passwords/android/overview

    【讨论】:

    • 这似乎违背了自动登录功能的目的。在文档中更深入一点,它提到如果用户退出,则禁用自动登录以让用户使用不同的帐户登录。当他们使用其他帐户登录时,不应禁用自动登录,它应该只是开始将他们登录到他们的新帐户。也许我在这里遗漏了一些东西。
    • 我认为 90% 的用户将拥有一个帐户。就我而言,使用多个帐户时,我总是会看到此对话框。当我有一个帐户时>>自动登录如果我注销>>对话框(即使我有一个帐户)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多