android – 为什么Google native oauth2 flow需要客户端密钥?

根据facebook oauth2 docs,客户端流程不需要客户端秘密参数.客户端流程可用于本机和移动Web应用程序.

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

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

有人可以澄清为什么这样做了吗?

解决方法:

根据Google员工的帖子,主要原因是他们为服务器端应用和本机应用使用相同的库.听起来他们并不认为client_secret在本机应用程序的上下文中是敏感的,但他们计划最终将其逐步​​用于已安装的应用程序流程.

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

We don’t expect those secrets to stay secret—so far we’re including them mostly so it’s convenient to use with libraries today, and expect to stop requiring them at some point in the future.

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

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

-克里斯

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...