标签: android-credential-manager

凭据管理器 - 如何创建“SignInWithGoogle”凭据?

我正在尝试设置 Google 的 One-Tap,但使用新的一体化凭据管理器。

然而,在浏览了(写得很糟糕的)文档之后,我停了下来。在“使用 Google 登录”后,一切都很好,直到我收到“NoCredentialException:没有可用的凭据”,这是有道理的。

但是……我如何创建凭证?

Google 提供了为密码密钥创建凭据的示例,但我找不到有关为“使用 Google 登录”按钮(互联网上的任何位置)创建凭据的任何信息。

“凭据管理器通过最新的 Google ID 帮助程序库支持“使用 Google 登录”按钮”

正如 Android 所说

所以,我使用<CredentialManager>.createCredentialAsync()它是因为谷歌在他们提供的示例中使用了它(并明确告诉在这里这样做)。

但是,Android 的 createCredentialAsync 需要 a CreateCredentialRequest,并且它只接受三种类型:“CreatePasswordRequest”、“CreatePublicKeyCredentialRequest”和“CreateCustomCredentialRequest”。

这就是上面引用中提到的“Google 的ID 帮助器库”应该派上用场的地方。该库具有类 GetGoogleIdOption 和 GetSignInWithGoogleOption ,它们都是GetCustomCredentialOption的子类。

现在的问题是我应该如何CreateCustomCredentialRequest为我的方法获取一个类(或其子类)<CredentialManager>.createCredentialAsync()

Google 的“最新 ID 帮助器库”不提供:

  1. CustomCredential 的子类,它是 SignInWithGoogle 的构建器(它适用于 GoogleIdToken)
  2. 一个非常长的CreateSignInWithGoogleRequest类(或一个CreateGoogleIdRequest类),它是该类的子类CreateCustomCredentialRequest

因此,由于我被困在应该如何得到这个问题上CreateCustomCredentialRequest,我也不确定应该如何“将凭证管理器与通过 Google 登录集成”。 …

android google-oauth google-signin google-one-tap android-credential-manager

7
推荐指数
1
解决办法
1626
查看次数