![当我们在 Salesforce Marketing Cloud cloudpages 中实现 recaptcha enterprise 时,我们发现无法使用服务账户进行身份验证](https://linux22.com/image/771451/%E5%BD%93%E6%88%91%E4%BB%AC%E5%9C%A8%20Salesforce%20Marketing%20Cloud%20cloudpages%20%E4%B8%AD%E5%AE%9E%E7%8E%B0%20recaptcha%20enterprise%20%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%91%E7%8E%B0%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E6%9C%8D%E5%8A%A1%E8%B4%A6%E6%88%B7%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
当我们在 Salesforce Marketing Cloud cloudpages 中实现 recaptcha enterprise 时,我们发现无法使用服务帐户进行 auth2.0 授权。我们需要使用 API KEY 方法吗?如果是,我们看到带有 API KEY 调用的文档仍然需要“注意:此 API 请求需要来自 Cloud SDK 的授权令牌,该令牌由 gcloud auth application-default print-access-token 命令生成。请确保已将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为服务帐户私钥文件的路径。”我们如何使用 ssjs 或 javascript 代码生成 oauth 令牌来调用 api?
也许最重要的一点是:
- salesforce 营销云是否支持服务帐户授权(可能不支持)?
- 如果是,如何使用 ssjs 或 javascript 实现
- 如果没有,我们是否需要使用 api_key 进行身份验证?
- 如果使用 api_key 进行身份验证,是否需要身份验证令牌(oauth2.0),我们可以有一些示例代码来参考 ssjs 或 javascript 或 ampscript 吗?
我们用https://jwt.io/使用公钥和私钥生成令牌,但出现未授权错误。 智威汤逊 邮递员错误
答案1
Google Cloud CLI 有一个命令行选项,可以将范围添加到访问令牌。
我们如何使用 ssjs 或 javascript 代码生成 oauth 令牌来调用 API?
使用 Google Cloud Node.js SDK。auth 部分包含用于从服务帐户 JSON 密钥文件创建访问令牌的 API。SDK 有大量示例。
安全说明:请不是在浏览器中创建凭证。仅在您控制的服务器上创建凭证。在浏览器中,最终用户可以访问您的私钥,从而授予他们访问您帐户的权限。私钥不会过期。
关于 jwt.io 和 Postman 的注意事项。创建 Google OAuth 访问令牌分为两个步骤。首先,创建一个签名的 JWT,然后将签名的 JWT 交换为令牌。我不建议在网站上发布您的私钥,因为使用 jwt.io 签署您的 JWT 是必需的。