【发布时间】:2013-11-06 01:53:25
【问题描述】:
要使用 google drive api,我必须使用 OAuth2.0 进行身份验证。我有几个关于这个的问题。
客户端 ID 和客户端密码用于识别我的应用程序是什么。但如果它是客户端应用程序,它们必须是硬编码的。因此,每个人都可以反编译我的应用程序并从源代码中提取它们。 这是否意味着一个坏应用可以通过使用好应用的客户端 ID 和密码来伪装成一个好应用?所以用户会显示一个屏幕,要求授予一个好应用的权限,即使它实际上是由一个糟糕的应用程序询问的?如果是,我该怎么办?或者实际上我不应该担心这个?
在移动应用程序中,我们可以将 webview 嵌入到我们的应用程序中。并且很容易在 webview 中提取密码字段,因为请求权限的应用程序实际上是一个“浏览器”。 那么,移动应用中的 OAuth 没有客户端应用无法访问服务提供者的用户凭证的好处吗?
【问题讨论】:
-
另外我猜当应用程序要求他们提供他们的 Facebook、Twitter、Dropbox 或其他凭据时,人们通常会怀疑。我怀疑许多普通人阅读 OAuth 规范并说“现在我安全了”,而是使用常识,通常不使用他们不信任的应用程序。
-
真的是一个很棒的问题肯定应该有更多的分数
-
您可以从您的服务器下载 ClientId 和密码,并在首次成功登录时将其保存在钥匙串中
-
@Sharvan 我可能错了,但我认为钥匙串在 root 手机上很容易受到攻击,因此您的客户秘密可能会被公开。
标签: security oauth google-api oauth-2.0