使用Android设备上的Google OpenID,无需用户名/密码

使用Android设备上的Google OpenID,无需用户名/密码,android,authentication,openid,Android,Authentication,Openid,目前,我可以使用OpenID对我的webapp进行身份验证(Google作为提供商)。我的Android应用程序通过通常的OpenID身份验证流程。但是,我想使用与Android设备相关联的Google帐户,而不是要求用户输入用户名/密码。这可能吗 我一直在玩弄AccountManager,但它似乎只允许对Google服务进行身份验证。可能是因为我没有找到合适的身份验证令牌类型。重复和-简短的回答是,您不能使用OpenID,但可以使用OAuth,然后使用OAuth验证与帐户关联的电子邮件地址。@

目前,我可以使用OpenID对我的webapp进行身份验证(Google作为提供商)。我的Android应用程序通过通常的OpenID身份验证流程。但是,我想使用与Android设备相关联的Google帐户,而不是要求用户输入用户名/密码。这可能吗


我一直在玩弄AccountManager,但它似乎只允许对Google服务进行身份验证。可能是因为我没有找到合适的身份验证令牌类型。

重复和-简短的回答是,您不能使用OpenID,但可以使用OAuth,然后使用OAuth验证与帐户关联的电子邮件地址。@RogerBinns您可以扩展一下吗?这两个链接都没有讨论使用OpenID;它们都只涉及OAuth(除了关于使用webview而不是AccountManager的答案,这是我们当前的解决方案)。您不能使用OpenID,因为它基本上是基于web的。它为Android用户提供了糟糕的可用性(尽管这是iOS的标准!)您可以实现让用户使用其AccountManager凭据登录,并使用这些项目中列出的技术在服务器端使用OAuth验证这些凭据的目标。@RogerBinns我们的服务器已经在使用OpenID,因此,更改为OAuth不是一个选项。我将保留这个问题,希望有所改变。您不需要更改服务器上的现有代码,而是可以添加到其中以支持使用Account Manager/oauth。请注意,您不需要将oauth作为公共通用选项来支持,而是可以“私下”支持。您只需要证明用户已经过身份验证,并且他们就是他们声称的那个人。OpenID只是一种web方式。如果你继续坚持只做OpenID,拒绝考虑任何其他事情,那么就关掉这个问题,因为它不可能是Android用户友好的。