android联系人同步没有身份验证令牌

时间:2013-01-10 11:33:39

标签: android android-contacts contactscontract android-syncadapter

有没有办法在不使用authToken的情况下将android联系人与服务器同步,只需用户名和密码?怎么办呢?

我希望每次同步联系人时都使用用户名和密码进行身份验证,而不使用authToken。

让我们说SampleSyncAdapter,我应该做些什么来改变这一点。

2 个答案:

答案 0 :(得分:2)

您可以使用帐户名作为用户名,并将密码另存为令牌或其他信息。在SampleSyncAdapter中,只需替换发送到服务器的内容。

答案 1 :(得分:1)

请注意,使用密码而不是身份验证令牌很容易,但由于以下几个原因,(discussion)非常不安全:

  1. 这意味着使用您的AuthenticationAdapter进行身份验证的恶意应用程序会提交您的实际密码的副本,该密码可用于登录并执行任何操作,或者可以发送您喜欢的任何人的用户名和密码。请注意,由于身份验证和令牌使用的解耦方式,人们可以编写可以从您的身份验证器请求凭据的第三方应用程序。如果您提供密码而不是令牌,那么您只需将用户的密码分发给应用程序开发人员,您可能并不是每个人都听说过或知道存在。

  2. 这意味着如果您使用的是http传输,则通过网络以明文形式发送密码。这会使密码受到窥探。 (再次,任何使用您作为身份验证者的第三方开发人员可能都不知道将http用于密码有多糟糕。)