在Android中存储Facebook Credential以获取Google Smart Lock密码

Rui*_*Rui 7 android google-smartlockpasswords

将Facebook凭证存储在Google智能锁密码中

我能够在Smart Lock密码中存储基本的用户名/密码凭据.Google凭据有大量文档和示例:

GoogleSignInAccount gsa = signInResult.getSignInAccount();
Credential credential = new Credential.Builder(gsa.getEmail())
        .setAccountType(IdentityProviders.GOOGLE)
        .setName(gsa.getDisplayName())
        .setProfilePictureUri(gsa.getPhotoUrl())
        .build();
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我无法存储Facebook凭据.它应该是类似的东西.但到底是什么?或者是完全不同或不支持的东西?

Credential credential = new Credential.Builder(<what goes here?!>)
        .setAccountType(IdentityProviders.FACEBOOK)
        .setName(<and here?>)
        .setProfilePictureUri(<is this necessary?>)
        .build();
Run Code Online (Sandbox Code Playgroud)

Elf*_*ama 0

我获得了我认为可以保存 Facebook 登录凭据的 Smart Lock 的工作版本。

我的应用程序使用 FB API 登录。从那里,我向我的服务器发送一个令牌,服务器又发回用户的电子邮件和用户名。我像这样存储该信息:

    Credential credential = new Credential.Builder(user.getEmail())
       .setAccountType(IdentityProviders.FACEBOOK)
       .setName(user.getName())
       .build();
Run Code Online (Sandbox Code Playgroud)

我并不完全熟悉 Facebook API,但我认为您可以从 Facebook SDK 获取电子邮件和用户名。

使用它保存用户 FB 凭据后,我可以在passwords.google.com 上查看它们。密码显示为“With Facebook”。

  • 当您启动应用程序(但尚未登录)时,您会请求凭据。好的,当您找到 facebook 的凭据时,如何“自动”连接 facebook sdk ?通过 Google Sign,您可以使用 Auth.GoogleSignInApi.silentSignIn()。 (3认同)