您好,我正在开发一个应用程序,我想允许用户使用他的 Google 帐户登录我的服务器,而无需向他询问凭据,因为我知道这些凭据已保存到 AccountManager 类中。 问题是我不知道如何对用户进行身份验证,因为帐户 ID 仅存储在 Google 的服务器中,所以我在哪里可以找到该帐户的 ID 以及如何使用它来对用户进行身份验证?我想按照以下步骤操作:用户选择一个存储的帐户,我得到一个 ID,将它从终端发送到服务器,然后我回答“他信任”这个用户,之后我将这个 ID 保存在我的服务器并向 Google 请求授权 token ,以便在我的服务器和 Android 设备上的应用程序之间使用它。
最佳答案
这是你想要的吗?
List<String> googleAccounts = new ArrayList<String>();
Account[] accounts = AccountManager.get(this).getAccounts();
for (Account account : accounts) {
if (account.type.equals("com.google")) {
googleAccounts.add(account.name);
}
}
您可以在谷歌开源的 ChromeToPhone 应用程序代码中看到更详细的示例:http://www.google.com/codesearch/p?hl=en#JWblrwroAxw/trunk/android/src/com/google/android/apps/chrometophone/MainActivity.java&l=311
关于Android 使用谷歌凭据登录我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4553004/