【问题标题】:Store Facebook Credential in Android for Google Smart Lock Password在 Android 中存储 Facebook 凭据以获取 Google Smart Lock 密码
【发布时间】:2016-03-28 15:22:01
【问题描述】:

将 Facebook 凭据存储在 Google Smart Lock 密码中

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

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

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

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

【问题讨论】:

标签: android google-smartlockpasswords


【解决方案1】:

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

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

    Credential credential = new Credential.Builder(user.getEmail())
       .setAccountType(IdentityProviders.FACEBOOK)
       .setName(user.getName())
       .build();

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

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

【讨论】:

  • 当您启动应用程序(但您尚未登录)时,您会请求凭据。好的,当您找到 facebook 的凭据时,您如何“自动”连接 facebook sdk?通过 Google 登录,您可以使用 Auth.GoogleSignInApi.silentSignIn()。
  • 我没有执行后台登录。 Facebook 的加载程序在我登录用户时显示。如果您想避免任何视觉指示他们正在登录以执行静默登录,那么不幸的是,我和您在同一条船上。
  • @Elforama 使用 facebook,您基本上必须调用 registerCallback(),这将为您提供 onSuccess() 中的令牌,这会在屏幕上显示一个加载符号,但可以作为一种静默SignIn() 工作跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-16
  • 2018-07-18
  • 1970-01-01
  • 1970-01-01
  • 2016-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多