需要SignIn的Android应用程序的OpenID

我是Googles Android平台上的新开发人员 – 我的HTC Desire上周抵达。

现在我需要一种方法来login到我现有的应用程序(Java,目前在docker上运行)。 服务器应用程序是使用spring security 3.0.2开发的

在我的情况下,我想支持以下内容:如果用户使用googlemail / google-Account(和大多数用户)设置他的Android手机,我想使用此帐户凭据自动login到我的服务器应用程序。

有没有支持该用例的Android框架? 还是有其他的select吗?

我读了:http code.google.com intl / de-DE / apis / accounts / docs / OpenID.html

我们如何使用谷歌AppEngine上的应用程序login如下: http : //blog.notdot.net/2010/05/Authenticating-against-App-Engine-from-an-Android-app

Solutions Collecting From Web of "需要SignIn的Android应用程序的OpenID"

我想你想要的是使用AccountManager

要了解Google帐户的types,请使用以下内容:

AuthenticatorDescription[] types = mAccountManager.getAuthenticatorTypes(); // for (AuthenticatorDescription type : types) { Log.d("account types", type.type); } 

然后做一些像

 AccountManager mAccountManager = AccountManager.get(context); Account[] mAccounts = AccountManager.get(context).getAccountsByType("com.google"); // Choose which account to use if there are multiple google accounts registered, save to Account mAccount AccountManagerFuture<options> response = mAccountManager.getAuthToken(mAccount, type, options, activity, mCallback, mHandler); // define callback and handler yourself for where to return 

当用户到达mHandler中的mCallback时,login过程完成。 如果用户尚未login到他/她的Google帐户,则会使用通常的Googlelogin对话框。

试试看,让我知道,如果它帮助你!

这是一个OPENID Java API:这是链接: http : //code.google.com/p/openid4java/

我不知道我是否理解用户要login的位置。

请注意,您不能假定将使用哪个networking浏览器(默认浏览器,手机移动设备,制造商浏览器等)。如果您只提供网站,则浏览器有责任了解用户。 大多数人已经login他们的谷歌帐户。 Android在这里是不相关的。

如果您希望Android应用程序连接到Web服务而不提示inputlogin名/密码,则无法使用openID来实现此目的。 我build议oauth这个用例。