- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想使用 Firebase 构建一个 Android 应用程序。 Firebase 为登录屏幕提供演示代码 https://github.com/firebase/firebase-login-demo-android .
但我希望用户能够使用用户已经在 Android 的集中式帐户管理器中输入的帐户信息,而不是让用户输入他们的帐户信息。
我在 https://developer.android.com/reference/android/accounts/AccountManager.html 看到了 AccountManager
对象的文档和 Firebase android 身份验证指南位于 https://www.firebase.com/docs/android/guide/user-auth.html ,但我太菜鸟了,不知道如何将它们组合在一起。
任何建议/指针/示例代码将不胜感激。或者让我知道我是否找错了树。
最佳答案
这里是 Firebase 工程师,
这是一种完全合法的方式——过去有很多人选择集成它。
简短的回答是它需要两个步骤:
看起来像this is a good resource for the first step (了解 AccountManager)。然后在 doCoolAuthenticatedStuff() 中你会关注我们的 typical auth flow :
Firebase ref = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com");
ref.authWithOAuthToken("google", "<OAuth Token>", new Firebase.AuthResultHandler() {
@Override
public void onAuthenticated(AuthData authData) {
// the Google user is now authenticated with your Firebase app
}
@Override
public void onAuthenticationError(FirebaseError firebaseError) {
// there was an error
}
});
对于 Google,我们使用“电子邮件”范围,但每个提供商都会有所不同。
我有一个 example of something similar在 iOS 世界中(使用 ACAccountStore 登录 Twitter,这与 Android AccountManager 非常相似),如果流程有帮助的话。
虽然这听起来像是一个很好的食谱/要点,所以我会看看我能做些什么!
关于android - 使用 Android AccountManager 的 Firebase 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31056037/
当我们可以使用 Accountmanager.addAccountExplicitly() 创建包含所有参数的帐户时,为什么我们使用 Accountmanager.addAccount()。 我用谷歌
有什么区别- AccountManager accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SER
我知道 AccountManager的 addOnAccountsUpdatedListener()可用于获取有关帐户列表更改的通知。如果发生此类事件,框架将调用提供的 OnAccountsUpdat
AccountManager 帐户存储在哪里?它在设备上吗?如果是,它存储在哪个文件夹中? 最佳答案 它存储在这里: Environment.getSystemSecureDirectory().ge
在 AccountManager 教程中 Remembering Your User ,建议: If there's more than one Account in the array, you s
我有一个应用程序正在实现我自己的身份验证器,如 this 中所述文章。它按预期工作正常。现在我需要从 AccountManager 获取谷歌帐户,我是这样做的: Account[] accounts
我尝试在我的应用程序中实现一个客户管理器,以避免用户每次打开应用程序时都必须登录。 所以基本上,我已经有了我的身份验证 Activity ,用户可以在其中放置其登录名和密码,以及我们从服务器接收 to
语境 我的应用程序只存储用户/通行证。不使用 token 。 问题 1 方法 setAccountAuthenticatorResult(Bundle) 和 onResult(Bundle) 旨在通知
Security tips与 AccountManager 相关的章节提到: If credentials are used only by applications that you create,
我正在尝试确定用户是否已添加该帐户,以防止在我的应用程序上多次添加同一帐户。我正在使用我自己的帐户验证器 Activity 。这是我的代码: public class AuthenticatorAct
我正在使用 custom class to expose some custom schema in Active Directory .我正在存储一个二进制 blob,根据项目要求,此数据必须存储在
我想使用他的 Google 帐户对我应用的用户进行身份验证,因为这是在多个设备上对用户进行身份验证的最简单方法。 我的问题是,如果我使用 AccountPicker.newChooseAccountI
我正在开发一个应用程序,它使用 AccountManager 获取 Google 帐户的凭据,该帐户随后用于从 AppEngine 获取 cookie。我注意到我在将应用程序发送给测试人员时发现了错误
我需要一些帮助来了解客户经理为我们提供的服务。我有一个需要 token 才能使用的 Web 服务。例如,如果开发人员想使用我的 api,他们会使用如下 url: http://myservice.co
我在 AccountManager 中保存了一个授权 token ,但是,当我执行 peekAuthToken(account, authTokenType) 时,它返回 null。我的调用者 uid
在文档中,android account manager blockingGetAuthToken 声明如果它的第三个参数notifyAuthFailure 为false,它会提示用户登录 Activ
我了解需要 AccountManager 的用途,并且稍微了解如何使用和实现它。但是,我还不知道我是否可以正确使用它,如果我不拥有它,甚至与我用来验证我的应用程序的服务相关联。我正在编写一个使用 RE
我一直在努力弄清楚如何使用 Google 客户经理为用户提供一种登录我的应用程序的方法。 我已返回 AuthToken,但我如何才能获得一些不会更改的帐户的唯一信息,例如 uniqueID 或其他信息
我正在创建两个应用程序。主应用程序包含一个登录名,用于创建自定义帐户。对于第二个应用程序,我想从主应用程序访问用户数据(刷新 token 存储在那里)。 主应用正在创建自定义帐户,刷新 token 通
我正在尝试获取 Google 帐户的授权 token ,因为我正在使用以下代码: AccountManager acoountManager = AccountManager.get( getCon
我是一名优秀的程序员,十分优秀!