Search 服务器到服务器应用程序的OAuth 2.0应用程序验证 服务器到服务器OAuth 2.0是否需要Google应用程序验证?

Search 服务器到服务器应用程序的OAuth 2.0应用程序验证 服务器到服务器OAuth 2.0是否需要Google应用程序验证?,search,google-cloud-platform,google-oauth,Search,Google Cloud Platform,Google Oauth,我们正在开发一个写入谷歌敏感范围的应用程序。我们已经搜索了有关服务器到服务器应用程序的OAuth 2.0,无法确定是否需要应用程序验证。唯一确定的答案是从服务器到服务器OAuth文档的这段代码 您的应用程序代表服务帐户调用Google API, 所以用户没有直接参与 我们的应用程序托管在一个次级政府环境中,该环境阻止来自外部的流量。我们已经使用GoogleAPI客户端库for JavaScript成功地演示了对“用户公共”敏感范围的读写操作(因为OAUTH通信是从内部启动的) 但是,我们无法使用

我们正在开发一个写入谷歌敏感范围的应用程序。我们已经搜索了有关服务器到服务器应用程序的OAuth 2.0,无法确定是否需要应用程序验证。唯一确定的答案是从服务器到服务器OAuth文档的这段代码

您的应用程序代表服务帐户调用Google API, 所以用户没有直接参与

我们的应用程序托管在一个次级政府环境中,该环境阻止来自外部的流量。我们已经使用GoogleAPI客户端库for JavaScript成功地演示了对“用户公共”敏感范围的读写操作(因为OAUTH通信是从内部启动的)

但是,我们无法使用Oauth2公共方法验证应用程序。我们认为这是因为对于每种验证方法,谷歌服务器都需要访问内部(政府)环境。我们也不允许使用内部“私有”方法

下面是一个简单的图形,显示了一个用户在尝试使用敏感范围时与应用程序验证对话框的关系。该图还显示,公共方法的验证未成功,因为它被政府防火墙阻止


是,对于您描述的OAuth流

对于Google服务到服务授权,请使用服务帐户而不是用户帐户。对于内部服务,使用基于令牌的身份验证(许多方法之一)

但是,我们无法通过DNS或其他方法验证应用程序 使用Oauth2公共方法。我们相信这是因为每个人 验证方法,谷歌服务器需要访问内部 (政府)环境。我们也不允许使用内部 “私有”方法

你指的是什么应用程序?谷歌服务器不会访问您的内部服务器。当使用OAuth流的用户类型时,Google会验证您的服务的回调URL。这意味着谷歌需要验证你是否拥有/控制域名。因为这是一个内部私有域,所以这是不可能的。但是,您使用了错误的OAuth流类型,因此担心这是错误的方向

对于内部服务器到服务器授权,有许多方法。也许最好也是最简单的方法是模仿OAuth的工作方式。在一台服务器上使用证书私钥创建签名JWT,并在另一个服务上使用公钥验证签名JWT。现在,您已经验证了来自已知来源的请求是否有效。接下来,在JWT中嵌入要实现/控制的标识、权限/角色等。另一方验证请求的权限是否已授予该标识


这并不能回答问题,此外,这是关于谷歌的,答案涉及instagram.curl-F‘client_id=client_id’-F‘client_secret=client_secret’-F‘grant_type=authorization_code’-F‘redirect_uri=authorization_redirect_uri’-F‘code=code’-F‘code=code’\n“client\u secret=client\u secret”\-F“grant\u type=authorization\u code”\-F“redirect\u uri=authorization\u redirect\u uri”\-F“code=code”\为什么有些人会否决这个问题?
curl -F 'client_id=CLIENT_ID' \
-F 'client_secret=CLIENT_SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' \
-F 'code=CODE' \
https://api.instagram.com/oauth/access_token