我正在尝试设置 Google 的 One-Tap,但使用新的一体化凭据管理器。
然而,在浏览了(写得很糟糕的)文档之后,我停了下来。在“使用 Google 登录”后,一切都很好,直到我收到“NoCredentialException:没有可用的凭据”,这是有道理的。
但是……我如何创建凭证?
Google 提供了为密码和密钥创建凭据的示例,但我找不到有关为“使用 Google 登录”按钮(互联网上的任何位置)创建凭据的任何信息。
“凭据管理器通过最新的 Google ID 帮助程序库支持“使用 Google 登录”按钮”
所以,我使用<CredentialManager>.createCredentialAsync()它是因为谷歌在他们提供的示例中使用了它(并明确告诉在这里这样做)。
但是,Android 的 createCredentialAsync 需要 a CreateCredentialRequest,并且它只接受三种类型:“CreatePasswordRequest”、“CreatePublicKeyCredentialRequest”和“CreateCustomCredentialRequest”。
这就是上面引用中提到的“Google 的ID 帮助器库”应该派上用场的地方。该库具有类 GetGoogleIdOption 和 GetSignInWithGoogleOption ,它们都是GetCustomCredentialOption的子类。
现在的问题是我应该如何CreateCustomCredentialRequest为我的方法获取一个类(或其子类)<CredentialManager>.createCredentialAsync()。
Google 的“最新 ID 帮助器库”不提供:
CreateSignInWithGoogleRequest类(或一个CreateGoogleIdRequest类),它是该类的子类CreateCustomCredentialRequest。因此,由于我被困在应该如何得到这个问题上CreateCustomCredentialRequest,我也不确定应该如何“将凭证管理器与通过 Google 登录集成”。 …
android google-oauth google-signin google-one-tap android-credential-manager