当我们在 Salesforce Marketing Cloud cloudpages 中实现 recaptcha enterprise 时,我们发现无法使用服务账户进行身份验证

当我们在 Salesforce Marketing Cloud cloudpages 中实现 recaptcha enterprise 时,我们发现无法使用服务账户进行身份验证

当我们在 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?

也许最重要的一点是:

  1. salesforce 营销云是否支持服务帐户授权(可能不支持)?
  2. 如果是,如何使用 ssjs 或 javascript 实现
  3. 如果没有,我们是否需要使用 api_key 进行身份验证?
  4. 如果使用 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 是必需的。

相关内容