我是一个在谷歌Android平台上的新开发人员-我的HTC愿望上周到达。
现在,我需要一种方法来登录到我现有的应用程序(Java,当前在jetty上运行)。服务器应用程序是使用spring security 3.0.2开发的
在我的例子中,我想要支持以下内容:如果用户已经为他的Android手机设置了一个googlemail/google-Account (大多数用户都是这样做的),我想使用这个帐户凭证自动登录到我的服务器应用程序。
有没有Android框架支持这种用例?或者还有其他选择吗?
我阅读:HTTPOpenID.html intl/DE-DE/apis/ code.google.com /docs/openid.html
这里描述了我们如何在谷歌AppEngine上使用应用程序登录:http://blog.notdot.net/2010/05/Authenticating-against-App-Engine-from-an-Android-app
发布于 2010-10-08 00:24:33
我认为您想要的是使用AccountManager
要找出google帐户的类型,请使用类似以下内容:
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时,登录过程就完成了。如果用户尚未登录到他/她的google帐户,将使用常用的Google登录对话框。
自己尝试一下,让我知道它是否对你有帮助!
发布于 2012-03-08 17:26:45
这里是一个OPENID java API :这里是链接:http://code.google.com/p/openid4java/
发布于 2010-09-30 00:00:53
我不确定我是否理解您希望用户登录的位置。
请注意,您不能假设将使用哪种web浏览器(默认浏览器、opera mobile、制造商浏览器等)如果你只提供一个网站,了解用户是网络浏览器的责任。大多数人我已经登录了他们的谷歌账户。Android在这一点上是不相关的。
如果你想让你的Android应用程序在不提示输入登录/密码的情况下连接到web服务,那么使用openID是无法实现这一点的。对于这个用例,我建议使用oauth。
https://stackoverflow.com/questions/3330761
复制相似问题