Google cloud platform 是不是;OAuth客户端已被删除";谷歌的意思是这些密钥无效?

Google cloud platform 是不是;OAuth客户端已被删除";谷歌的意思是这些密钥无效?,google-cloud-platform,credentials,google-oauth,Google Cloud Platform,Credentials,Google Oauth,我正在努力追踪GOOGLE\u CLIENT\u SECRET和GOOGLE\u CLIENT\u ID的泄漏值。我在docker中运行这个基本flask应用程序,将其链接到localhost,编辑/etc/hosts以将其映射到“myserver.local.com”并访问该页面。当我在“此应用程序将尝试通过Google OAuth 2.0对您进行身份验证”屏幕上单击“登录”时,我收到此错误 Authorization Error Error 401: deleted_client The O

我正在努力追踪
GOOGLE\u CLIENT\u SECRET
GOOGLE\u CLIENT\u ID
的泄漏值。我在docker中运行这个基本flask应用程序,将其链接到localhost,编辑/etc/hosts以将其映射到“myserver.local.com”并访问该页面。当我在“此应用程序将尝试通过Google OAuth 2.0对您进行身份验证”屏幕上单击“登录”时,我收到此错误

Authorization Error
Error 401: deleted_client
The OAuth client was deleted

排除在删除后30天内恢复项目的可能性,我是否可以认为这意味着泄漏的密钥不会构成威胁?我在我们的项目中找不到它们,所以我不能自己删除它们。

要确保您的访问令牌被吊销,您可以执行以下任何操作:

-->删除用户为应用程序颁发的所有访问令牌

-->撤消服务器上的用户帐户令牌:


您还可以使用跟踪您的令牌,以查看令牌的使用时间和使用人。

客户端ID包含。客户端ID的构造方式如下:

<PROJECT_NUMBER>-<RANDOM_STUFF>.apps.googleusercontent.com
根据定义,如果响应包含字段
“lifecycleState”:“DELETE_REQUESTED”
,则表示项目正在等待删除,但仍然可以恢复

所有这些步骤都取决于您是否可以使用凭据访问项目。如果你没有这个权限,你应该找一个有权限的人。如果该项目位于某个组织内,则具有组织级权限的人员应该可以访问该组织内的所有项目

综上所述,该错误看起来确实意味着客户端已被删除,并且无法恢复已删除的凭据,至少根据删除凭据时的警告消息:


我看到的最大危险是泄漏的凭据包含项目编号,但仅滥用项目编号是相当困难的。

我认为这些可能是针对不同的令牌的。我没有创建这个令牌,我不知道它在哪个帐户或项目中,所以我认为我不能使用第一种方法。其他三种方法不适用于
GOOGLE\u CLIENT\u SECRET
GOOGLE\u CLIENT\u ID
值。了解客户ID包含项目编号是非常有用的!请注意,这是一种未记录的行为(据我所知)。它是几年前添加的,但您可能仍然能够找到没有此格式的旧客户端ID(例如,中的默认客户端ID,授权作用域时可以在URL中看到),并且Google可以随时更改此行为。尽管如此,我可以猜测,谷歌看到了在这种情况下将项目编号准确地保留在客户ID中的价值。
curl -H"Authorization: Bearer $(gcloud auth print-access-token)" -H'Accept: application/json' \
'https://cloudresourcemanager.googleapis.com/v1/projects?filter=projectNumber%3A<PROJECT_NUMBER>'