相关疑难解决方法(0)

OAuth 2.0中的客户端密钥

要使用google drive api,我必须使用OAuth2.0进行身份验证.我对此有一些疑问.

  1. 客户端ID和客户端密钥用于标识我的应用程序是什么.但是如果它是客户端应用程序,它们必须是硬编码的.因此,每个人都可以反编译我的应用程序并从源代码中提取它们.这是否意味着一个糟糕的应用程序可以通过使用好的应用程序的客户端ID和秘密伪装成一个好的应用程序?所以用户会显示一个屏幕,要求授予一个好应用程序的权限,即使它实际上是由一个糟糕的应用程序询问?如果是,我该怎么办?或者实际上我不应该担心这个?

  2. 在移动应用程序中,我们可以将webview嵌入到我们的应用程序中.并且很容易在webview中提取密码字段,因为请求许可的应用程序实际上是"浏览器".那么,移动应用程序中的OAuth没有客户端应用程序无法访问服务提供商的用户凭据的好处?

security oauth google-api oauth-2.0

91
推荐指数
2
解决办法
2万
查看次数

OAuth 2已安装的应用程序客户端机密注意事项(google api)

我正在开发一个通过OAuth2访问google-api的已安装应用程序.我目前知道一些安全问题没有真正的解决方案.无论我如何努力地模糊我的客户秘密,一个坚定的人可以检索和使用它.由此产生两个问题:

  1. 有人使用我的客户端密钥来修改用户数据:

    到目前为止,似乎在没有使用刷新令牌时需要再次授权已安装的应用程序.但是,我不确定这是否是我使用的客户端API的一部分,或者是否在服务器端确保.如果在服务器端确保我很满意:)

  2. 有人使用我的客户端密码超出我的访问限制:

    好的,这是谷歌特定的.只要我不付钱,我就有免费配额而且可以用尽.因此,有人可以使用我的客户端秘密来耗尽配额,没有其他客户端将能够访问它的数据:(我想不出真正的解决方案除了从未将服务升级到付费级别.

我想到的唯一安全解决方案是将网络服务器作为与谷歌交互的网关,并将访问令牌传输到客户端.或者它甚至可以保留令牌并只传输所请求的数据(在用户验证之后(openid ......等等))

结论是:我没有可以用作网关的网络服务器.因此,只要用户数据受到保护(没有人可以使用被盗的客户端密钥访问它而没有用户授予对新令牌的访问权限),我可以继续使用免费配额限制,看看它有多快,并且永远不会升级它.

对于这个主题的任何评论我都很高兴.谢谢!

oauth google-api installed-applications

7
推荐指数
0
解决办法
310
查看次数