为什么Google原生oauth2流需要客户端保密



根据facebook oauth2文档,客户端流程不需要客户端秘密参数。客户端流可以在本地和移动web应用中使用。

但是google的原生oauth2流需要客户端保密http://code.google.com/apis/accounts/docs/OAuth2.html#IA.

在这种情况下,客户端秘密可以被黑客使用逆向工程工具窃取。

谁能解释一下为什么这样做?

根据一位google员工的帖子,主要原因是他们对服务器端应用程序和本地应用程序使用相同的库。听起来他们不认为client_secret在本地应用的上下文中是敏感的,但他们计划最终在安装的应用流程中逐步淘汰它。

From https://groups.google.com/group/oauth2-dev/browse_thread/thread/1e714924ebcc7e60/edfaaad5830ff2e8:

我们不希望这些秘密保持秘密——到目前为止,我们包含它们主要是为了方便今天与库一起使用,并期望在将来的某个时候不再需要它们。

虽然这听起来很糟糕,但请记住,OAuth从未打算阻止恶意用户在您的移动/桌面应用程序上下文中伪造请求。

如果你担心暴露client_secret,这里也有描述的客户端流:http://code.google.com/apis/accounts/docs/OAuth2.html#CS据我所知,客户端流不需要client_secret,可以很好地从桌面或移动应用程序中工作。

屁股的

相关内容

  • 没有找到相关文章