google duo要翻墙吗
借助使用 Google 账号登录功能,您可以快速将用户身份验证功能集成到 Android 应用中。用户可以使用自己的 Google 账号登录您的应用、提供同意声明,并安全地与您的应用分享自己的个人资料信息。Android 的 Credential Manager Jetpack 库可让这种集成顺畅无阻,通过单个 API 在各种 Android 设备上提供一致的体验。
本文档将引导您在 Android 应用中实现“使用 Google 账号登录”功能,介绍如何设置“使用 Google 账号登录”按钮界面,以及如何配置针对应用优化的一键注册和登录体验。为了实现顺畅的设备迁移,Google 登录支持自动登录,并且其跨平台特性(支持 Android、iOS 和 Web 平台)有助于您在任何设备上为应用提供登录访问权限。如果您为应用使用 Firebase Authentication,可以参阅在 Android 上通过 Google 进行身份验证指南,详细了解如何集成“通过 Google 登录”和 Credential Manager。
将“使用 Google 账号登录”配置为 Credential Manager 底部动作条界面的一个选项。您可以将此功能配置为自动提示用户登录。 如果您已实现通行密钥或密码,则可以同时请求所有相关的凭据类型,这样用户就不必记住他们之前用于登录的选项。
将“使用 Google 账号登录”按钮添加到应用的界面中。借助“使用 Google 账号登录”按钮,用户可以轻松地使用其现有的 Google 账号注册或登录 Android 应用。如果用户关闭底部操作表界面,或者明确想要使用其 Google 账号进行注册和登录,则会点击“使用 Google 账号登录”按钮。对于开发者来说,这意味着用户可以更轻松地完成初始配置,注册过程中的阻力也会减少。
确保您的应用已分配正确的应用名称、应用徽标和应用首页。这些值将在用户注册时显示在“使用 Google 账号登录”同意屏幕上,以及“第三方应用和服务”屏幕上。
在Clients page中,为您的应用创建一个 Android 客户端 ID(如果您还没有)。您需要指定应用的软件包名称和 SHA-1 签名。
在Clients page中,创建一个新的“Web 应用”客户端 ID(如果您还没有)。您可以暂时忽略“已获授权的 JavaScript 来源”和“已获授权的重定向 URI”字段。此客户端 ID 将用于在您的后端服务器与 Google 的身份验证服务通信时标识该服务器。
首先,通过调用 API 并将setFilterByAuthorizedAccounts参数设置为true,检查用户是否有之前曾用于登录您应用的账号。用户可以选择使用哪个可用账号登录。
如果没有可用的已授权 Google 账号,系统应提示用户使用其任何可用账号进行注册。为此,请再次调用该 API 并将setFilterByAuthorizedAccounts设置为false,以提示用户。详细了解注册。
开发者应为使用单个账号注册的用户启用自动登录。这样一来,用户便可在各种设备上获得顺畅的体验,尤其是在设备迁移期间,用户无需重新输入凭据即可快速重新访问自己的账号。对于您的用户,如果他们之前已登录,则无需再进行登录,从而减少不必要的摩擦。
如需启用自动登录,请使用setAutoSelectEnabled(true)。只有在满足以下条件时,用户才能自动登录:
实现自动登录功能时,请务必正确处理退出登录,以便用户在明确退出应用后始终可以选择合适的账号。
为了提高登录安全性并避免重放攻击,请添加setNonce在每个请求中添加 Nonce。详细了解如何生成 Nonce。
如果转换成功,请提取GoogleIdTokenCredentialID,对其进行验证,并在服务器上对凭据进行身份验证。
实例化 Google 登录请求后,按照使用 Google 账号登录部分中所述的相似方式启动身份验证流程。
“使用 Google 账号登录”功能可让用户只需点按几下,即可在您的应用或服务中轻松创建新账号。
实例化 Google 账号注册请求后,启动身份验证流程。 如果用户不想使用“使用 Google 账号登录”功能进行注册,请考虑优化应用以支持自动填充google duo要翻墙吗。用户创建账号后,请考虑让他们注册通行密钥,作为账号创建的最后一步。
当用户从应用中退出账号时,请调用 APIclearCredentialState()方法以清除所有凭据提供程序的当前用户凭据状态。此操作会通知所有凭据提供程序,应清除指定应用的所有已存储凭据会话。
凭据提供程序可能已存储有效的凭据会话,并使用该会话来限制未来 get-credential 调用的登录选项。例如,它可能会优先使用有效凭据,而不是任何其他可用凭据。当用户明确从您的应用中退出账号时,为了在下次获得全面的登录选项,您应调用此 API,以便提供方清除任何已存储的凭据会话。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。