Google Data API集成 - 哪种身份验证模型?

时间:2010-12-13 20:07:38

标签: c# google-calendar-api google-data-api google-authentication

我正在开发一个网络应用程序,该应用程序将直接与与特定Google帐户关联的Google日历集成。 Google Data API访问的帐户不太可能发生变化,因此我不确定最合适的帐户身份验证方法是什么。

我已经审核了可用的选项,AuthSubOAuth似乎不合适,因为我不会将用户登录到自己的帐户 - 仅显示和更新固定帐户。其他可用选项包括ClientLoginGadgets身份验证。在所有这些中,ClientLogin似乎最合适,但文档声明它适用于已安装的应用程序。虽然我正在开发的Web应用程序并不是专门安装的应用程序,但它在这种情况下与一个应用程序密切相关 - 这就是我认为ClientLogin最有意义的原因。

哪种Google身份验证选项最适合此方案?

1 个答案:

答案 0 :(得分:2)

在阅读http://code.google.com/apis/gdata/docs/auth/overview.html之后,在我看来,OAuth是实现目标的最安全方式。 Google建议通过ClientLogin for Web Applications使用OAuth或AuthSub。此外,使用OAuth和AuthSub可以防止您的应用程序控制用户的电子邮件和密码,这意味着您无需采取额外步骤来保护和更新信息。在OAuth和AuthSub之间,OAuth被更普遍采用,并且由于请求被签名而更加安全。希望有所帮助。

编辑:所以我误解了你的应用程序正在做什么,如果你只使用你的谷歌帐户,任何认证方法都可能没问题,谷歌建议OAuth或AuthSub用于网络应用程序。然而,了解OAuth和AuthSub的重要之处在于令牌的生命周期。如果没有办法让令牌持续很长时间(几个月,几年),那么我会尝试使用ClientLogin,因为那时你的应用程序将始终能够登录到该帐户。但是为了安全起见,我建议你不要使用你的主要谷歌帐户申请而是创建第二个帐户,只需与你的主帐户共享日历,这样如果您的应用程序被盗用,您将不会丢失您的主要谷歌帐户