Oauth 2.0 OAuth 2.0-客户端机密是否必须为;秘密;?

Oauth 2.0 OAuth 2.0-客户端机密是否必须为;秘密;?,oauth-2.0,facebook-oauth,google-oauth,Oauth 2.0,Facebook Oauth,Google Oauth,我只是好奇——我是否需要在一个“秘密”的地方对来自Google/FaceBook/另一个OAuth 2.0提供商的客户保密?就我所见,只要我指定了限制性很强的回调URL,就可以使用client secret参数完成很少的事情 例如,将“秘密”密钥提交给github/bitbucket/etc作为某个live web项目的公共存储库是否安全 据我所知,client secret与google/facebook上的开发者帐户没有任何共同之处,因此不可能将其用于Hjack或欺骗 我错过什么了吗?谢谢

我只是好奇——我是否需要在一个“秘密”的地方对来自Google/FaceBook/另一个OAuth 2.0提供商的客户保密?就我所见,只要我指定了限制性很强的回调URL,就可以使用client secret参数完成很少的事情

例如,将“秘密”密钥提交给github/bitbucket/etc作为某个live web项目的公共存储库是否安全

据我所知,client secret与google/facebook上的开发者帐户没有任何共同之处,因此不可能将其用于Hjack或欺骗


我错过什么了吗?谢谢

尽量保守秘密

对于一个web应用程序来说,保密至关重要,整个流程的安全性依赖于此


对于本机应用程序,请尽力而为。它总是可以从二进制文件中进行反向工程,但在某些情况下,这可能并不简单。如果可能的话,不要简单地提交给github之类的。您可以将其添加为构建过程的一部分。

组合应用程序id |应用程序机密作为FB应用程序的应用程序访问令牌,因此,一旦我知道了这些,我就可以用它完成您的应用程序允许执行的所有操作。。。它被称为“秘密”是有原因的。好的,请告诉我你能用这个秘密令牌做什么?它只对用户令牌有用,用户令牌被提供给重定向url,您不能更改它。但是为什么?你能告诉我你能用这个“秘密”令牌做什么吗?如果你正在为你的用户存储刷新令牌,那么为一个用户获取访问令牌需要一个client_secret+一个刷新令牌。如果存储用户刷新令牌的数据库受到破坏,则尽可能将客户机_保密可以限制损坏。对于已安装/本机应用程序-您通常无能为力,但对于web应用程序,这是一种良好的安全做法。此外,如果有人获得客户端密码,他们可以模拟您的应用程序,请求用户授权,并且利用你的应用程序的声誉,这样用户就更有可能授权它。@aeijdenberg让我们假设一个应用程序使用更标准的授权授权,而不是-我们不存在与密码授权相同的问题吗,在密码授权中,攻击者获得刷新令牌将允许他们请求新的访问令牌?